如何验证客户端上的Javascript没有被更改
How to verify that Javascript on client has not been altered
是否有任何方法可以验证客户端加载(并可能更改)的javascript文件没有被恶意用户篡改?
我在想这样的东西:
1) 计算校验和并将其发送给服务器进行验证
2) 将浏览器内存中的文件原样发送回服务器进行比较/校验和。
这样的事情有可能吗?如果服务器上有一个已知的好拷贝,如何验证执行的javascript的完整性?
tl;dr编号
由于恶意使用很容易篡改发送到服务器的数据,因此没有办法安全地验证Javascript是否未被更改。即使你进行了散列和计算,也无法确保用户在将其发送到服务器之前没有修改该散列和。
您只需找到其他方法即可确保解决方案的安全性。通常这意味着您必须在后端而不是客户端上运行业务逻辑。
我认为没有一个好的解决方案,因为即使你对服务器的检查也可能在客户端被操纵,我可以很容易地将校验和更改为原始校验和,并将其发送到你的服务器。
将验证保存在服务器上,切勿在浏览器中存储或使用关键变量/数据。您应该使用JavaScript来处理接收到的数据并在UI中进行交互。人们唯一能做的就是改变眼前的价值观。
相关文章:
- 如何在javascript中验证MM/YY的日期
- 如何在Javascript中验证日期期间与其他日期期间的交叉
- javascript文本验证不起作用.警报消息没有't显示
- JavaScript参数验证
- JavaScript-仅验证数值并且在范围内
- 时间日志的javascript/jquery验证(5小时3米)
- 在 javascript 中验证或读取远程图像类型
- 如何在 Jquery 或 JavaScript 中验证 24 小时格式化的时间
- Javascript-如何验证两个电话号码是否不同
- 操作的Javascript字符串验证
- 在javascript中验证wcf服务的正确端口
- 在自动填充后,在UIWebView中执行Javascript后验证Label的长度
- 在javascript中验证十进制
- 如何在javascript中验证密码、手机号码和电子邮件
- 使用正则表达式对象进行Javascript字符串验证
- 如何使用JavaScript函数验证Google Analytics跟踪id
- 如何使用javascript将验证日期设置为不小于文本框中的开始日期
- 基于Rails的javascript应用程序的安全性:如何在渲染的javascript中验证用户的权限
- JavaScript日期验证RegEx或JS
- 如何集成codeigniter和javascript进行验证