确保JavaScript没有被篡改

Cro*_*ent 5 javascript security cryptography digital-signature

我正在编写一个Web应用程序,它对数据进行一些客户端加密,以确保我永远不会看到客户端发送到我的服务器的内容.我真正担心的是,如果第三方可以访问我的JavaScript代码,然后在我的JavaScript文件中添加后门或其他恶意代码.

由于JavaScript通常托管在第三方CDN上,如何在浏览器下载之前确保JavaScript文件未被更改或篡改?我宁愿在我的页面上有一个很大的安全通知,而不是在我的客户端浏览器中加载一些被篡改的JavaScript.

在正常的程序中,我会对文件进行数字签名,以确保它没有被篡改,但我认为浏览器不支持在下载和/或加载JavaScript文件之前检查给定的签名.必须有一些解决方案,否则托管CDN上的任何文件将是一个巨大的安全风险.SSL仅保护传输中的文件,而不是当它位于CDN服务器上时.

ris*_*hta 1

除非脚本是动态的,否则您可以将它们的哈希值存储在数据库中并在客户端进行比较。请参阅http://pajhome.org.uk/crypt/md5/

  • 直接提供验证库(如在嵌入式 JS 中)。 (2认同)