Я пытаюсь реализовать заголовки Content-Security-Policy для Wordpress, но не могу определить все URL-адреса, к которым ему нужен доступ. В частности, я попытался добавить заголовок:
Header always set Content-Security-Policy "default-src 'self' https://blogname.com:*"
Однако, когда я установил это, страница «редактировать / создать сообщение», в частности, выдает кучу ошибок, которые, похоже, связаны с:
Как я могу легко определить все сторонние URL-адреса, которые необходимы для Wordpress и всех его плагинов, чтобы добавить их в заголовок CSP?
Используйте заголовок 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#Mixed_Content_Policy
был особенно полезен в качестве отправной точки.