Политика безопасности контента (CSP) — это средство защиты вашей веб-страницы путем ограничения того, какие ресурсы и сценарии разрешено загружать и выполнять. Вы можете включить CSP, установив заголовок Content-Security-Policy
в HTTP-ответах вашего веб-сервера.
Существует два стандартных способа настройки CSP:
Укажите белый список доменов, которые могут внедрять свои ресурсы на страницу.
Укажите случайный одноразовый номер, которым должны быть отмечены ресурсы на странице для загрузки. Этот подход известен как строгий CSP .
Поскольку домены, в которых используется тег издателя Google (GPT), со временем меняются, мы поддерживаем только строгий CSP (вариант 2). Такой подход устраняет необходимость поддерживать постоянно обновляемый список доменов, которые могут устареть и повредить ваш сайт.
Настройка CSP с GPT
Включите CSP на вашем веб-сервере.
Выполните действия, описанные в разделе о принятии строгого CSP , чтобы настроить заголовок CSP и применить nonce к каждому тегу сценария на вашей странице, включая
gpt.js
GPT специально поддерживает следующие директивы 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/
Вы можете выбрать более либеральную политику, если она соответствует вашему варианту использования. Более строгие правила могут быть нарушены без предварительного уведомления.
Включите междоменный рендеринг.
Ad iframes может загружать внешние ресурсы, которые могут быть не разрешены CSP. Поскольку iframe одного и того же домена наследуют CSP окна верхнего уровня, а GPT не может контролировать содержимое объявления, объявления в том же домене, как правило, не будут работать должным образом с заголовками CSP.
Чтобы включить междоменный рендеринг для всех объявлений, выполните
googletag.pubads().setForceSafeFrame(true)
перед загрузкой любых рекламных мест.<!doctype html> <html> <head> <meta charset="utf-8"> <title>Hello GPT</title> <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1" async></script> <script nonce="KC7tcz53FHqumKP1"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag.pubads().setForceSafeFrame(true); }); </script> </head>
Тестирование
Мы рекомендуем сначала протестировать свои политики, установив заголовок Content-Security-Policy-Report-Only
вместо Content-Security-Policy
. Заголовок сообщает о нарушениях, но разрешает их размещение на странице.