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

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

Susan Sarandon
发布: 2024-11-26 06:32:12
原创
765 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板