本文介绍了内容安全政策 (CSP),以及如何将其与 AdSense 广告代码集成。请注意,并不要求发布商使用 CSP。如果您确实想使用 CSP,请按照下文介绍的步骤操作,以确保在您启用 CSP 后,您的 AdSense 代码能够正常运行。
重要提示:您必须更新网站的 CSP,以符合我们官方书面指南的要求。否则,可能会导致您网站上的广告投放出现中断。
什么是 CSP
内容安全政策 (CSP) 是一种通过限制允许加载和执行的资源和脚本来保护网页安全的方法。您可以通过在网络服务器的 HTTP 响应中设置 Content-Security-Policy 标头来启用 CSP。
配置 CSP 有两种标准方法:
- 指定可在网页上注入其资源的网域许可名单。
- 指定一个随机 Nonce,网页上的资源必须带有此 Nonce 才能加载。这种方法称为严格 CSP。
由于 AdSense 广告代码使用的网域会随时间而变化,因此我们仅支持严格 CSP(即方法 2)。这样一来,您就不必维护可能过时并导致网站无法正常运行的动态网域列表。
使用 AdSense 广告代码设置严格 CSP
如需在网络服务器上启用 CSP,请按照采用严格 CSP 部分中介绍的步骤操作;该部分介绍了如何设置 CSP 标头并将 Nonce 应用于网页上的每个脚本标记(包括 AdSense 代码)。AdSense 代码明确支持以下 CSP 指令:
Content-Security-Policy:
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'none';
report-uri https://your-report-collector.example.com/如果更宽松的政策适合您的用例,您可以选择该政策。更严格的政策可能会在您不知情的情况下导致网站功能或广告投放中断。
代码示例
以下是采用严格 CSP 的 AdSense 代码示例:
<script nonce="${nonce}" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234&host=ca-host-pub-5678" crossorigin="anonymous">
</script>
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-1234"
data-ad-host="ca-host-pub-5678">
</ins>
<script nonce="${nonce}">
(adsbygoogle = window.adsbygoogle || []).push({});
</script>测试
建议您先通过设置 Content-Security-Policy-Report-Only 标头(而非 Content-Security-Policy)来测试您的政策。该标头只会报告违规行为,而不会实际拦截这类行为。
本页面可能包含使用 AI 技术翻译的内容。AI 翻译未必准确无误。