使用javascript eval()在输入中进行简单计算是安全的吗?
Is using javascript eval() safe for simple calculations in inputs?
我希望允许用户在文本输入中执行简单的计算,这样输入2*5将得到10。我用空字符串替换除数字外的所有内容,然后使用eval()进行计算。这似乎比手动解析更容易,也可能更快。
经常有人说eval()是不安全的,所以我想知道在这种情况下使用它是否有任何危险或缺点。
function (input) {
value = input.value.replace(/[^-'d/*+.]/g, '');
input.value=eval(value);
}
这是安全的,不是因为您对它进行了消毒,而是因为它都是由用户输入并在他们自己的浏览器中运行的。如果他们真的想输入恶意代码,他们可以使用firebug或web inspector,甚至使用bookmarklet。值得庆幸的是,除了锁住你自己的浏览器,你可以用javascript恶意做的事情并不多:)
这是安全的,因为您在将其放入eval之前进行了输入验证。
除此之外,你还应该加上:
() %
相关文章:
- 简单文本字段计算不起作用
- 通过简单的计算将Excel spreadhhet转换为在线网格
- jquery警报框简单计算
- 使用PHP和JS进行简单计算
- jquery中使用文本框的简单计算
- 简单的javascript计算
- 是否有HQMF到QRDA cat 3计算的简单示例
- 简单的日历脚本,如何计算上个月的天数
- 简单计算 - JavaScript
- 如何使用 JavaScript 进行此简单计算
- HTML / PHP表单来计算简单公式的显示结果
- 一个简单窗口的计算资源密集度.包含函数
- jquery简单的计算脚本几乎不需要帮助
- 在jQuery中使用.keyup计算字符数的简单方法
- 必须创建一个简单的计算器,使用eval()进行计算.我可以'我不知道如何把答案发到文本框里
- 更简单的方法来计算数字乘数后缀
- Javascript计算简单的乘法自动更改任何数字
- 仅从文本字段中选择数字,加上简单的计算
- Javascript简单的加法计算
- 简单的代谢率计算在JavaScript