1

次のコンテンツ セキュリティ ポリシーを定義しています。

X-Content-Security-Policy-Report-Only: default-src 'self'; report-uri /foo

これを に変更するとX-Content-Security-Policy、ポリシーが適用され、レポートが送信されます。しかし、これを に設定するReport-Onlyと、コンソールにポリシー警告が表示されず、レポートも送信されません。

unsafe-inlineとがサポートされておらず、unsafe-evalを使用する必要があるというバグを認識していますがoptions inline-script eval-script、このページではどちらも使用していません。

これと関係があるかどうかはわかりませんが、ヘッダーは として送信されていますX-Content-Security-Policy-Report-Onlyが、Firebug はそれを変換しますx-content-security-policy-report-only- 単に大文字と小文字を変更するだけです。

X-Content-Security-Policyまた、次のようにとの両方を指定する場合X-Content-Security-Policy-Report-Only:

X-Content-Security-Policy: default-src 'self'; options inline-script; report-uri /csp-report.php
x-content-security-policy-report-only: default-src 'self'; report-uri /csp-report.php

コンソールには WARN レベルのメッセージがあります。

レポート専用以外の CSP ポリシーが適用されているため、レポート専用 CSP ポリシーは無視されます。

つまり、ヘッダーを見て、それを処理して報告する代わりに、もう一方を強制するのではなく、それを完全に削除していますか?

4

1 に答える 1

0

うーん、以前にバグレポートを見たことがありましたが、注意深く読んでおらず、unsafe-inline問題だと思いましたunsafe-evalhttps://bugzilla.mozilla.org/show_bug.cgi?id=687086実際には、スクリプトの実行が許可されているためにインライン スクリプトがポリシーを起動しないことについて具体的に述べています。ポリシーに違反する他のもの (他の場所からスクリプトをロードするなど) でテストを行うと、レポートが生成されて送信されます。

于 2013-05-09T12:29:40.957 に答える