Как определить 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
было особенно полезно в качестве отправной точки.