Content-Security-Policyのレポート専用モードを使用すると、Chrome が実行されeval()
なくなります。
eval
次の例では、2 つのレポート (1 つはインライン スクリプト用、もう 1 つは 用) を取得し、ポップアップを表示することも期待しています。ただし、コンソールには 2 つのレポートしか表示されません。
CSP の使い方が間違っているのでしょうか、それとも Chrome の CSP レポートのみのモードにバグがありますか?
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Security-Policy-Report-Only" content="default-src 'self'; report-uri /dummy.html"/>
<meta http-equiv="X-Content-Security-Policy-Report-Only" content="default-src 'self'; report-uri /dummy.html"/>
<meta http-equiv="X-WebKit-CSP-Report-Only" content="default-src 'self'; report-uri /dummy.html"/>
<head>
<script>
eval('alert(1);');
</script>
</head>
</html>