永发信息网

JavaScript 为什么不推荐使用 eval

答案:1  悬赏:40  手机版
解决时间 2021-03-03 13:01
  • 提问者网友:暮烟疏雨之际
  • 2021-03-03 00:38
JavaScript 为什么不推荐使用 eval
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-03-03 01:00
基本上所有语言(有eval的)都不建议用 eval, 除非您很确定知道自己在干甚麼又别无他法.

eval 之所以不建议使用是因为安全性隐患, 此话适用於所有编程语言, 正常来说只有两种处境下才会用 eval, 一是在写病毒码, 如以 utf-7 (没写错, 是utf-7) 编写代码 让使用者, 甚至防毒软件都看不懂真正要执行的代码是甚麼, 另一个是做测试, 除错; 成品 (production) 绝不该出现 eval 的语句.

这是因为 eval 的东西都不会再有别的防御机制去审视要执行的是甚麼, 比如您要 eval 一个表单里的某串 text, 这就足以让植入式(病毒)码 (injection code) 长驱直入, 成为您页面里的一部分.

当然, 一个更低层次的问题就是, 其实与其在 eval 里写代码, 还不如写句正正式式的代码, 在 eval 里要写很多 \" \' \\ , 写著写著都眼花了.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯