JavaScript源代码更改检测

4

我想知道是否有一种方法可以检测我在网站上使用的javascript文件的源代码是否已更改?我在其中使用了ajax,感觉应该更安全,因为代码很容易被更改。我可以像每次打开php文件时那样下载js文件并手动检查代码是否已更改,借助if-else结构来完成。但这是否健康可靠呢?


1
你能解释一下你想要实现什么吗? - jackstrapp
1
正如我在第一句话中所说的那样,如果客户端更改了js代码,是否有一种方法可以检测到它? - Ümit Aparı
啊,好的!我没明白你是想在客户端检查文件修改。你想知道是否有人试图在浏览器中修改网站提供的JS代码? - jackstrapp
是的,就是这样,我想我找到了一种方法来做到这一点。 - Ümit Aparı
请随意分享。 - jackstrapp
请查看下面 str 的注释。 - Ümit Aparı
1个回答

5

看起来你正在寻找子资源完整性

子资源完整性(SRI)是一项安全功能,使浏览器能够验证它们获取的文件(例如来自CDN的文件)是否未经意外篡改即可传递。它通过允许您提供一个加密哈希值来实现。

使用该技术,您可以定义一个哈希值,以便检查您的脚本是否匹配。如果不匹配,则不执行脚本。例如:

<script src="https://example.com/example-framework.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
        crossorigin="anonymous"></script>

然而,请注意浏览器支持目前还不是很好。


那正是我正在寻找的,谢谢。 - Ümit Aparı

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接