Google Adwords CSP 脚本源
Google Adwords CSP script-src
我想将 Google Adwords 转换脚本集成到我的网络应用程序中,因此我必须扩展我的 CSP 规则以允许此脚本。
我在允许 https://www.google.xx/ads/
进入 script-src
政策时遇到问题,因为根据地区的不同,域似乎会发生变化。
例如,如果我在瑞士访问该页面,则允许的脚本应为https://www.google.ch/ads/
,但如果我在罗马尼亚访问该页面,则允许的脚本应为https://www.google.ro/ads/
等
如何在我的政策中允许所有域,而不必列出世界上所有国家和地区?
提前感谢您的帮助
P.S.: 控制台堆栈跟踪
Refused to load the script 'https://www.google.ro/ads/user-lists/8...
P.P.S:我尝试使用 nonce
将其列入白名单,但看起来以下脚本无法像这样列入白名单
<script nonce="random-base64">
window.dataLayer = window.dataLayer || [];
var gtag = function gtag(){ // <---- There, CSP problem
dataLayer.push(arguments);
};
gtag('js', new Date());
gtag('config', 'SOMETHING');
</script>
P.P.P.S.: 与 img-src
顺便说一句相同的问题。
How could I allow all domains in my policy without having to list all countries and regions of the world?
你不知道。没有顶级域名白名单;并且有充分的理由。您无法保证具有相同主域的不同 TLD 是同一实体,因此通配符毫无意义。
使用 Google Adsense 我也遇到过这个问题,基本上你唯一的选择是过多的白名单(手动列出每个可能的域并希望他们不要添加新域),甚至更多过多的全球白名单(极不推荐),或者只是列出最常见的原产国并接受一些地理区域将被排除在外。
第三个选项通常是最好的,我使用 adsense 而不是 adwords,但我的大部分流量来自美国,我愿意失去来自几个点击率低的特定国家/地区的广告印象,以免维持一个荒谬的清单。
这里唯一真正的解决方案可能来自 Google:他们必须停止为来自不同 TLD 的资源提供服务(这是 IMO,在所有情况下都是糟糕的做法,因为 HREF LANG 标签无论如何都是一回事)。有点惊讶 Google 甚至在 2018 年仍在这样做,CSP 是一个相当大的交易,但我们到了。
至于 img-src
只需使用 https:
IMO。如果您正在处理不可预测的第三方域集,那么过度急切地加载图像是可以的。 CSP 旨在阻止危险内容。 img-src
是一个非常低的风险因素,几乎必须与第二个漏洞混合使用才能造成真正的伤害。
我想将 Google Adwords 转换脚本集成到我的网络应用程序中,因此我必须扩展我的 CSP 规则以允许此脚本。
我在允许 https://www.google.xx/ads/
进入 script-src
政策时遇到问题,因为根据地区的不同,域似乎会发生变化。
例如,如果我在瑞士访问该页面,则允许的脚本应为https://www.google.ch/ads/
,但如果我在罗马尼亚访问该页面,则允许的脚本应为https://www.google.ro/ads/
等
如何在我的政策中允许所有域,而不必列出世界上所有国家和地区?
提前感谢您的帮助
P.S.: 控制台堆栈跟踪
Refused to load the script 'https://www.google.ro/ads/user-lists/8...
P.P.S:我尝试使用 nonce
将其列入白名单,但看起来以下脚本无法像这样列入白名单
<script nonce="random-base64">
window.dataLayer = window.dataLayer || [];
var gtag = function gtag(){ // <---- There, CSP problem
dataLayer.push(arguments);
};
gtag('js', new Date());
gtag('config', 'SOMETHING');
</script>
P.P.P.S.: 与 img-src
顺便说一句相同的问题。
How could I allow all domains in my policy without having to list all countries and regions of the world?
你不知道。没有顶级域名白名单;并且有充分的理由。您无法保证具有相同主域的不同 TLD 是同一实体,因此通配符毫无意义。
使用 Google Adsense 我也遇到过这个问题,基本上你唯一的选择是过多的白名单(手动列出每个可能的域并希望他们不要添加新域),甚至更多过多的全球白名单(极不推荐),或者只是列出最常见的原产国并接受一些地理区域将被排除在外。
第三个选项通常是最好的,我使用 adsense 而不是 adwords,但我的大部分流量来自美国,我愿意失去来自几个点击率低的特定国家/地区的广告印象,以免维持一个荒谬的清单。
这里唯一真正的解决方案可能来自 Google:他们必须停止为来自不同 TLD 的资源提供服务(这是 IMO,在所有情况下都是糟糕的做法,因为 HREF LANG 标签无论如何都是一回事)。有点惊讶 Google 甚至在 2018 年仍在这样做,CSP 是一个相当大的交易,但我们到了。
至于 img-src
只需使用 https:
IMO。如果您正在处理不可预测的第三方域集,那么过度急切地加载图像是可以的。 CSP 旨在阻止危险内容。 img-src
是一个非常低的风险因素,几乎必须与第二个漏洞混合使用才能造成真正的伤害。