#http #security #http-headers #content-security-policy #response-headers
Вопрос:
Я получаю сообщение о нарушении Политики безопасности контента в своем браузере, когда посещаю свою веб-страницу:
[Только для отчета] Отказано в загрузке изображения», поскольку оно нарушает следующую директиву Политики безопасности контента: «img-src ‘self’ «.
Когда я исследую заголовки HTTP-ответов, ни заголовок, ни Content-Security-Policy-Report-Only
Content-Security-Policy
заголовок, похоже, не заданы исходным сервером.
Как я могу найти источник этого сообщения о нарушении? Я не уверен, почему он создается, учитывая, что соответствующие заголовки, похоже, не заданы.
Ответ №1:
Возможны 2 варианта:
1. У вас есть сторонний iframe, встроенный в страницу. Нарушения, которые вы заметили, принадлежат этому iframe, он публикует свой собственный заголовок CSP. Поскольку браузер имеет только одну консоль для главной страницы и всех фреймов, вы также можете видеть ошибки сторонних фреймов.
попробуйте использовать другой браузер, некоторые из них могут быть более подробными и показывать заблокированный URI. В любом случае вы не можете иметь ничего общего со сторонним CSP.
2. Если вы посещаете несуществующую веб-страницу, промежуточное программное обеспечение сервера может публиковать CSP по умолчанию для страниц с кодом состояния 4xx/5xx. Низкая вероятность, потому Report-Only
что режим в таких случаях не используется.
Публикация Content-Security-Policy-Report-Only
не в заголовке HTTP, а в метатеге невозможна, поскольку метатег не поддерживает Report-Only
режим. Поэтому я ставлю на вариант 1.
Комментарии:
1. Спасибо вам за ваши мысли @granty. Сторонний CSP является наиболее вероятным из 2