Как определить CSP для Wordpress

Я пытаюсь реализовать заголовки Content-Security-Policy для Wordpress, но у меня возникают проблемы с определением всех URL-адресов, к которым требуется доступ. В частности, я попытался добавить заголовок:

Header always set Content-Security-Policy "default-src 'self' https://blogname.com:*"

Однако, когда я устанавливаю это, страница "Редактировать / Создать Пост", в частности, выдает кучу ошибок, которые выглядят так:

  • Нужно скачать сторонние шрифты
  • Другие запросы AJAX для JavaScript (например, для редактора)
  • Другие вещи, вероятно, связанные с плагинами

Как я могу легко определить все сторонние URL-адреса, которые необходимы для Wordpress и всех его плагинов, чтобы я мог добавить их в заголовок CSP?

2 ответа

Используйте заголовок Content-Security-Report-Only первый. Это позволит вам проверить политику и настроить ее. Он работает так же, как и "обычный" заголовок CSP, за исключением того, что нарушения политики не блокируются, а только сообщаются. Вы можете использовать бесплатный сервис https://report-uri.io/ для получения отчетов.

Эта политика работала для меня:

Header always set Content-Security-Policy "default-src 'unsafe-inline' 'unsafe-eval' 'self'; font-src 'self' data: https://fonts.gstatic.com:443; img-src 'self' data: https://secure.gravatar.com:443; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com:443"

Пример из твиттера:

https://www.owasp.org/index.php/Content_Security_Policy_Cheat_Sheet

было особенно полезно в качестве отправной точки.

Другие вопросы по тегам