首页  >  文章  >  web前端  >  如何在 JavaScript 中安全地计算字符串:'eval()”的替代方案?

如何在 JavaScript 中安全地计算字符串:'eval()”的替代方案?

Susan Sarandon
Susan Sarandon原创
2024-11-26 06:32:12731浏览

How to Safely Evaluate Strings in JavaScript: Alternatives to `eval()`?

JavaScript 中的安全字符串计算:eval() 的替代品

eval() 函数虽然方便,但暴露了 JavaScript 中潜在的安全风险。在处理包含可执行代码的不受信任字符串时,必须找到更安全的替代方案。

一个可行的选择是使用 Function() 构造函数。此构造函数允许我们从给定字符串创建动态函数:

function evil(fn) {
  return new Function('return ' + fn)();
}

利用此函数,我们可以计算数学字符串表达式,而无需承担与 eval() 相关的风险。下面是一个示例:

const apa = "12/5*9+9.4*2";
console.log(evil(apa)); // Output: 40.4

此方法提供了一种安全的方法来计算字符串值,而无需求助于 eval()。它提供了针对恶意代码注入的增强保护,使其成为处理不受信任输入的更安全选择。

以上是如何在 JavaScript 中安全地计算字符串:'eval()”的替代方案?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn