如何验证客户端上的Javascript没有被更改

How to verify that Javascript on client has not been altered

本文关键字:Javascript 何验证 验证 客户端      更新时间:2024-03-14

是否有任何方法可以验证客户端加载(并可能更改)的javascript文件没有被恶意用户篡改?

我在想这样的东西:

1) 计算校验和并将其发送给服务器进行验证

2) 将浏览器内存中的文件原样发送回服务器进行比较/校验和。

这样的事情有可能吗?如果服务器上有一个已知的好拷贝,如何验证执行的javascript的完整性?

tl;dr编号

由于恶意使用很容易篡改发送到服务器的数据,因此没有办法安全地验证Javascript是否未被更改。即使你进行了散列和计算,也无法确保用户在将其发送到服务器之前没有修改该散列和。

您只需找到其他方法即可确保解决方案的安全性。通常这意味着您必须在后端而不是客户端上运行业务逻辑。

我认为没有一个好的解决方案,因为即使你对服务器的检查也可能在客户端被操纵,我可以很容易地将校验和更改为原始校验和,并将其发送到你的服务器。

将验证保存在服务器上,切勿在浏览器中存储或使用关键变量/数据。您应该使用JavaScript来处理接收到的数据并在UI中进行交互。人们唯一能做的就是改变眼前的价值观。