如何验证客户端上的Javascript是否未被更改

时间:2016-04-07 13:53:00

标签: javascript security

有没有办法验证客户端加载(并且可能已更改)的javascript文件是否未被恶意用户篡改?

我想到这样的事情:

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

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

这样的事情可能吗?如何在服务器上给出已知良好的副本,验证执行的javascript的完整性?

2 个答案:

答案 0 :(得分:3)

tl;博士否

由于恶意使用可以轻易篡改发送到服务器的数据,无法安全地验证Javascript是否未被更改。即使您进行了散列计算,也无法确保用户在将其发送到服务器之前不会修改该散列图。

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

答案 1 :(得分:2)

我认为没有一个很好的解决方案,只是因为即使您对服务器的检查也可以在客户端进行操作,我可以轻松地将校验和更改为原始校验和并将其发送到您的服务器。

在服务器上保持验证,绝不在浏览器中存储或使用关键变量/数据。您应该使用JavaScript来处理接收的数据并在UI中进行交互。人们唯一能做的就是改变眼睛所显示的值。