当然,我不是第一个想到这个问题的人。然而,我找不到关于这个问题的任何文章(更不用说任何解决方案),这使我怀疑这个问题没有规范的解决办法:
假设我有一个可信的web服务器,它使用HTTPS提供网页服务,并且该网页从第三方web服务器(如CDN或类似的)加载一些第三方库。现在,原则上,没有什么可以阻止CDN提供一些恶意的javascript。这是一个问题,当然,除非我可以使用加密签名来验证从第三方服务器上提供的JavaScript文件的真实性。
考虑到我可以动态加载js-文件,并且现在存在密码库,这应该是可能的。还是我在监督什么?是否存在解决此问题的javascript库?
发布于 2014-08-25 11:26:45
可能,是的,您可以在特定的时间点自己创建签名,将它们存储在服务器上,当您的网页加载时,您可以流JS文件,计算它们的签名,验证它们,然后要求浏览器使用JS文件(如果它们是有效的)。
问题是,如果第三方作者更新了库,那么您的方案将停止工作,直到您验证新代码并更新服务器上的签名为止。
此外,从您的站点加载密码库的必要性常常会否定将CDN用于其他脚本的好处。
https://stackoverflow.com/questions/25481344
复制相似问题