假设没有浏览器端安全漏洞可以用来修改某人的计算机,我不明白如何使用 eval 可能会导致任何实际威胁。有人可以在用户的计算机上显示一些内容,但如果没有重定向或接受下载,就不会造成真正的损害。没有服务器端的损害,对吧?
JavaScript提供了许多方法来让浏览器向服务器发送数据。它们可以被利用来发动攻击,包括拒绝服务攻击。
由于eval可能导致代码执行,除非您可以 100% 控制该代码(这非常罕见,否则您不会考虑使用eval),否则它会在您的网站上造成漏洞。
此漏洞不一定会对您的服务器产生负面影响,但它可能会严重影响您的用户,并在某些情况下允许黑客窃取您的用户cookie、访问他的会话和其他许多事情。
一个简单的例子是eval执行恶意脚本,向您的服务器发送所有必要信息来删除或更改用户数据。因为请求实际上来自您用户的会话,所以它是一个完全有效的请求。
eval()
允许执行任意代码。你无法预测任意代码现在或将来可能做什么。 - Frédéric Hamidi