私はあなたが自分自身を否定あなたの質問を信じています。
は、どのように私はHTML要素で使用するためjavascript:void(0)
は、Content-セキュリティポリシーを 属性ができますか?
は、一方では、あなたは、私は推測しているルールを指定するためにどのContent Security Policy (CSP)ヘッダーを設定script-src
です。インライン・スクリプトの実行を防ぐための指示。
一方、バイパスしてインラインJavaScriptを実行したいとします。
ヘッダーが期待どおりに機能していませんか?
'unsafe-inline'
を追加すると、インラインスタイルとインラインスクリプト(CSPが提供する最大のセキュリティ上の勝利の1つ)を禁止する考えが否定されます。
nonce-sourceを使用すると、特定のインラインスクリプトブロックのみを許可できます。
例:
Content-Security-Policy: script-src 'nonce-2726c7f26c'
注意、あなたは同様の要素に同じナンスを設定する必要があります。フォームを使用して、あなたのケースでは
<script nonce="2726c7f26c">
var inline = 1;
</script>
は、ヘッダは次のようになります。
Content-Security-Policy: form-action 'nonce-<value>'
また、あなたは、インラインスクリプトからハッシュを作成することができます。 CSPはsha256、sha384、sha512をサポートします。
例:
Content-Security-Policy: script-src 'sha256-076c8f1ca6979ef156b510a121b69b6265011597557ca2971db5ad5a2743545f'
注意、ハッシュを生成するとき、先頭または末尾の空白を含め、その総額や空白文字の問題を、タグを含めると注意していないこと。
<script>var inline = 1;</script>
なぜ、 'href ="# "'を使用しないのですか? – Barmar
これは、防止されていないとページの先頭にジャンプするためです。 – Stephan
ハンドラのどのブランチでも、そのアクション/ hrefをそこに置くのではなく、アクションを妨げることを確認する方が良いでしょう。 – apokryfos