2016-03-02 4 views
3

То, что я пытаюсь достичь: Оба обновления всех HTTP-запросов на странице HTTPS и отчета/регистрации событий.Заголовок политики безопасности контента - как обновления небезопасных запросов, так и отчетов о событиях

Сервер поддерживает как HTTP, так и HTTPS.

Тестовая HTML-страница. Обратите внимание на жёстко прописанный протокол HTTP в <img>

<html> 
<head> 
</head> 
<body> 
    <img src="http://example.com/testimage.png" /> 
</body> 
</html> 

Согласно W3C documentation, я настроил свой .htaccess так:

Header set Content-Security-Policy "upgrade-insecure-requests; default-src https:" 
Header set Content-Security-Policy-Report-Only "default-src https:; report-uri https://report-uri.io/report/..." 

Когда я звоню https://example.com/testpage.html, он загружает файл через HTTPS, но не сообщите об этом событии.

Что мне не хватает?

+0

какой браузер вы используете? возможно, браузер не поддерживает его? – oreoshake

+0

Я не вижу отчета о нарушении в Chrome или Firefox (проверяя консоль dev) – oreoshake

ответ

3

Я не уверен, что если upgrade-insecure-requests или block-all-mixed-content создадут события, потому что они предотвращают появление плохих событий в первую очередь.

Я мог ошибаться в рассуждениях, но я знаю, что block-all-mixed-content не вызывает нарушений.

Для содержимого с полным смешанным содержимым он явно не отправляет отчет. От https://www.w3.org/TR/mixed-content/#strict-opt-in:

Данная директива не действует при мониторинге. Этот директивой только эффект заключается в том, чтобы установить флаг политики на защищаемом ресурсе; он будет , поэтому никогда не будет нарушен и не будет требований к отчетности.