У цій статті розповідається, що таке Правила щодо безпеки контенту і як інтегрувати їх із кодом оголошення AdSense. Зверніть увагу: видавці не зобов’язані використовувати Правила щодо безпеки контенту. Якщо ж ви хочете їх застосувати, дотримуйтеся наведених нижче вказівок, щоб переконатися, що ваш код AdSense працює правильно.
Що таке Правила щодо безпеки контенту
Правила щодо безпеки контенту дають змогу захистити вебсторінку, обмеживши перелік ресурсів і скриптів, які можуть завантажуватися й виконуватися на ній. Щоб увімкнути Правила щодо безпеки контенту, налаштуйте заголовок Content-Security-Policy
для відповідей HTTP від вашого вебсервера.
Правила щодо безпеки контенту можна налаштувати двома стандартними способами.
- Додайте білий список доменів, які можуть вставляти свої ресурси на сторінці.
- Укажіть нонс, яким має бути позначено ресурси на сторінці, щоб вони могли завантажуватися. Цей підхід називається суворими Правилами щодо безпеки контенту.
Оскільки домени, які використовує код оголошення AdSense, із часом змінюються, ми підтримуємо лише суворі Правила щодо безпеки контенту, тобто 2-й варіант. За такого підходу не потрібен мінливий список доменів, який може застаріти й порушити роботу вашого сайту.
Як налаштувати суворі Правила щодо безпеки контенту для коду оголошення AdSense
Щоб увімкнути Правила щодо безпеки контенту для вебсервера, дотримуйтеся вказівок, наведених у цьому розділі. У ньому описано, як налаштувати заголовок Правил щодо безпеки контенту й призначати нонс кожному тегу скрипту на вашій сторінці, зокрема в коді AdSense. Код AdSense підтримує наведені нижче директиви Правил щодо безпеки контенту.
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/
Ви можете вибрати менш суворі правила, якщо вони вам підходять. Суворіші правила можуть призводити до потенційних збоїв у функціоналі вашого сайту, і ви не отримуватимете сповіщення про це.
Приклад коду
Нижче наведено приклад коду AdSense із суворими Правилами щодо безпеки контенту.
<script nonce="${nonce}" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=i-gno/re-d1234&host=ca-host-pub-5678" crossorigin="anonymous">
</script>
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="i-gno/re-d1234"
data-ad-host="ca-host-pub-5678">
</ins>
<script nonce="${nonce}">
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Тестування
Радимо спершу протестувати правила, налаштувавши заголовок Content-Security-Policy-Report-Only
замість Content-Security-Policy
. Він повідомлятиме про порушення, однак заборонені ресурси все одно завантажуватимуться.