为插件添加 CSP 源

根据 https://meta.discourse.org/t/mitigate-xss-attacks-with-content-security-policy/104243,可以将一组源添加到 CSP 策略中。

我认为,添加像上面那样的 Google AdSense 源组会非常有用,这样非高级用户也能更轻松地配置该插件。

CSP 违规:'https://partner.googleadservices.com'
CSP 违规:'https://tpc.googlesyndication.com'
CSP 违规:'https://pagead2.googlesyndication.com'
CSP 违规:'https://adservice.google.com'
1 个赞

同意!我最近也遇到过因为同样的原因导致某个网站的广告无法正常运行,我花了一段时间才排查出来。

1 个赞

这真的足够吗?看起来即使列出了 google*.com 等域名,仍然总会有来自其他域名的其他资源导致更多的 CSP 违规。而且 Google 可以随时更改广告资源的来源。此外,如果某人安装了该插件后,其安全设置中突然被添加了所有已许可的资源(如 AdSense、Ad Manager、Amazon、CodeFund、Carbon Ads 以及插件中包含的任何其他资源),而无需事先征得同意,这未免令人惊讶。

5 个赞

这并非如此,但这是一个良好的开端。Google 也会从本地化域名(如 google.com.mx 或 google.co.ve)发送邮件。

另一件事是,将 CSP 相关说明添加到插件文档中,让每个人自行决定如何处理。

该内容已于去年 9 月添加:Discourse Advertising Plugin (Ads)

3 个赞

:raised_hand: 我也是。默认启用限制性设置总是很危险(属于不良实践),尤其是在升级时。花了好一会儿才弄清楚问题出在哪里。

(这还会导致外部 Cookie 同意脚本失效,这些脚本非常烦人,但在某种程度上是法律要求的。)

我们默认不会将您社区的权限交给 Google JS。由于官方 Google 文档并未包含所有必要的来源,且可能随时更改(事实上已经发生过),我们无法在 CSP 设置中添加建议的来源列表。上周我们协助一位客户处理了此问题(需添加 19 个来源才能正常运行),因此在使用 Google 广告时启用 CSP 将非常棘手,且我们无法在插件中实现自动化处理。

4 个赞