コンテンツセキュリティポリシーを実装して、各インラインイベントスクリプトに対してsha-256
ハッシュを使用してクロムエクステンションでインラインハンドラを実行できるようにしようとしています。インラインイベントスクリプトのCSP sha-256ハッシュ
しかし、私はこの仕事を得ることができない:私はすべてのインラインと計算されたハッシュを抽出し、私のcontent_security_policy
は次のようになりますように:例えば
"content_security_policy": "script-src 'self' 'unsafe-eval' 'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=' 'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA=' 'sha256-Pmun4RTarna683hWYftYdXPERPfEVV5fB+qvqh3xnmg=' ... ... 'sha256-RoSxVuvjYKDbU5f+aUEw02rEM9e2Lp9Hz/+rxbp6OMw='; object-src 'self'"
、onclick="w2ui['grid'].click('1', event);"
のために私はsha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=
The docs stateこのメソッドをサポートされているが、それはまだスローするエラー
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' 'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=' 'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA=' 'sha256-Pmun4RTarna683hWYftYdXPERPfEVV5fB+qvqh3xnmg=' ... ... Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.
既知のバグですか、それとも概念を悪用していますか?
Chromeから使用私は
'unsafe-eval'
許可を使用して、すべてのインラインを事前に評価することにより、この問題を回避することができましたあなたが必要とするsha256の値が表示されますが、エラーメッセージに表示されています。 Chromeはあなたと同じハッシュ値を計算しましたか? –no-chromeは、 'unsafe-inline 'キーワード、ハッシュ(' sha256 -... ')、またはnonce(' nonce -... ')のいずれかがインライン実行を有効にするために必要です。 – grandrew