javascript - 为什么使用 JavaScript eval 函数是个坏主意?

标签 javascript security eval

eval 函数是一种强大而简单的动态生成代码的方法,那么有哪些注意事项呢?

最佳答案

  1. eval 使用不当会打开你的 注入(inject)攻击代码

  2. 调试可能更具挑战性 (没有行号等)

  3. eval 代码执行速度较慢(没有机会编译/缓存 eval 代码)

编辑:正如@Jeff Walden 在评论中指出的那样,今天的#3 不如 2008 年那么正确。但是,虽然可能会缓存已编译的脚本,但这只限于使用 eval 重复的脚本没有修改。更有可能的情况是,您正在评估每次都经过轻微修改的脚本,因此无法缓存。假设某些经过评估的代码执行得更慢。

关于javascript - 为什么使用 JavaScript eval 函数是个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/86513/

相关文章:

security - 强化路径操作错误

java - 在运行时定期更改 SSL 证书

python 3 : eval() with custom dict not evaluating numbers

python - 列名中带有空格的 Pandas DataFrame eval

javascript - 如何使图像完全适合 HTML5 Canvas ?

javascript - jQuery 序列化数据未成功发布到 PHP 表单处理程序

javascript - 加载所有图像(包括缓存图像)后的 jquery 事件?

iphone - 我能知道 iPhone 是否有密码吗?

python - 解析表示元组列表的字符串

javascript - 使用bumpbox、mootools.js实现pdf lightbox并确保用户滚动到文档末尾