为什么eval中的eval不安全?

Joe*_*ong 15 javascript

可能重复:
为什么eval邪恶?

我读过人们声称当使用任意用户输入代码运行时,eval是不安全的.我在访问文件系统等服务器上运行的其他语言中理解这一点.但是,为什么在浏览器中执行代码时这很重要?毕竟,你不能只是启动Firebug并写任何你想要的任意脚本吗?那么eval有何不同呢?

tob*_*ies 19

eval当你将一个由alice编写的脚本提供给bob浏览器到eval的用户bob时,只会出现丑陋的危险.

例如,如果bob在您的页面上输入了他的密码,alice可能已经在您输入的用户输入中编写了一个键盘记录器,eval并安排将数据编码在一个脚本中,bob将(在不知情的情况下)提交给alice.正如@ Hunter2在评论中建议的那样,这是一次XSS攻击.

如果你没有为其他人服务,那么你认为它相当于点燃萤火虫是正确的