在网页中包含脚本时,是否有办法查看此脚本是否随时间发生变化?
例如:
<script src="https://thirdparty.com/script.js"></script>
<script>
// Some code to hash the script contents and store in a variable hashOfScript
// Then compare to a known version of the script
if (hashOfScript !== previousHashOfScript) {
alert('Script has changed!!!');
}
</script>
这是出于安全目的。基本上,我包含了一个我普遍信任的第三方网站的脚本,可以检查他们的脚本。此后,我只想跟踪它以查看脚本是否发生了变化。大多数情况下,我想知道他们是抓取我的cookie还是读取DOM中的敏感数据。
修改
其中一个例子是Google Analytics。我通常信任Google和我的Google Analytics数据,因此我包含了analytics.js。但是,如果有权访问Google的人希望他们可以执行以下操作:
// PSUEDOCODE HERE
if (requestingSite === interestingData) {
analytics.js = cookieGrabbingAndDomScrapingAnalytics.js
send(analytics.js)
}
同样,这只是一个稳定的JS脚本的一个例子,可以在个案的基础上恶意地改变(由一个坏人或者(不太可能)由中间人)。
注意:我的整个网站和所有脚本都是通过HTTPS加载的。