gpt4 book ai didi

google-analytics - 如何将 Google 的全局站点标记与子资源完整性结合起来?

转载 作者:行者123 更新时间:2023-12-03 15:22:25 25 4
gpt4 key购买 nike

我正在按照 steps described by Google 在我的网站上实现全局跟踪.但我也想保留我的Subresource Integrity (SRI) 是最新的。所以我运行以下命令来查找 gtag.js 的完整性哈希.

> curl -s https://www.googletagmanager.com/gtag/js |\
openssl dgst -sha384 -binary |\
openssl base64 -A

将此作为完整性属性添加到 scriptcrossorigin="anonymous" 标记属性,导致浏览器无法加载 gtag 脚本。原因:

Subresource Integrity: The resource 'https://www.googletagmanager.com/gtag/js' has an integrity attribute, but the resource requires the request to be CORS enabled to check the integrity, and it is not. The resource has been blocked because the integrity cannot be enforced.



明显的原因是 access-control-allow-origin谷歌返回的 header ,只允许同一主机来源。

有谁知道这个脚本是否有不同的主机?还有其他方法可以在您的网站中采用 gtag 吗?

最佳答案

唯一的解决方法可能是简单地获取资源,将其存储在同一台服务器上,然后设置您自己的 Access-Control-Allow-Origin标题。
这有点愚蠢 - 因为它不仅降低了通过 CDN 分发资源的值(value),而且有效地使 SRI 变得毫无意义(因为您正在使用静态本地副本,而不是远程副本,这保证降低操纵风险通过使用 SRI 进行验证)。
这也只有在资源保持静态时才有效。但由于 SRI 依赖于静态资源(因此哈希将匹配),对服务器上资源的任何更改都将导致 SRI 强制执行,从而导致资源无论如何失败。
因此,它可能并不比首先使用 SRI 更脆弱(除非您正在动态生成资源的校验和......此时首先使用 SRI 的意义不大)。
2020 年 9 月 22 日更新:问题似乎是 may have been resolved 2020 年 4 月在 Google 方面。

关于google-analytics - 如何将 Google 的全局站点标记与子资源完整性结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51114449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com