Google maps //maps.google.com/maps/api/js的子资源完整性值
在哪里可以找到脚本//maps.google.com/maps/api/js的子资源完整性值 例如:Google maps //maps.google.com/maps/api/js的子资源完整性值,google-maps,google-maps-api-3,google-cdn,subresource-integrity,Google Maps,Google Maps Api 3,Google Cdn,Subresource Integrity,在哪里可以找到脚本//maps.google.com/maps/api/js的子资源完整性值 例如: <script src="//maps.google.com/maps/api/js" integrity="sha256-????" crossorigin="anonymous"></script> 要生成完整性哈希代码,您可以使用以下网站: 粘贴URL,然后在线生成哈希。然而,我认为用谷歌地图API不可能做到这一点。我得到以下信息: 错误:此资源不符合完整性检查
<script src="//maps.google.com/maps/api/js" integrity="sha256-????" crossorigin="anonymous"></script>
要生成完整性哈希代码,您可以使用以下网站: 粘贴URL,然后在线生成哈希。然而,我认为用谷歌地图API不可能做到这一点。我得到以下信息: 错误:此资源不符合完整性检查的条件。看
你找不到该脚本的SRI摘要,即使你找到了,也帮不了你 你没有: SRI哈希是针对不变的内容。谷歌一直在改变API的代码。您不必选择使用哪一版本的API;他们为您选择,这就是为什么脚本路径中没有版本号 将SRI用于googlemapsapi脚本实际上并没有提供任何额外的安全性,因为该脚本的全部工作是下载一组其他脚本的最新版本,这些脚本实际上提供了API功能 您不能使用SRI来验证其他脚本,因此您已经有义务信任Google的安全性,或者放弃使用他们的MapsAPI 即使你这样做了,也不会有什么帮助: 对于不下载其他JS文件的脚本,请尝试在srihash.org网站上向下滚动一点 它说您可以使用Linux shell命令
openssl dgst-sha384-binary FILENAME.js|openssl base64-A
但是,对于不提供包含CORS标题的内容的源,这仍然没有帮助,因为浏览器需要CORS才能进行SRI验证。如果在没有CORS头的情况下提供资源,浏览器将拒绝加载资源,甚至比SRI摘要不匹配的情况更快
这里有一个关于决定需要CORS背后的思维过程的解释:
结果是,由于SRI哈希适用于所有类型的资源(不仅仅是JS和CSS文件,它们在整个CORS中有一个遗留的例外),因此它可以被用来绕过相同的源策略,以嗅探其他不可访问的内容。这对于Google Maps API是不可能的
正如您在这里看到的,这个javascript库偶尔会更新一次。此外,如果在url中使用固定版本号作为参数,则会更新此文件。同样的问题。有人知道谷歌是否有可能启用CORS吗?