私はreCAPTCHAを厳格なコンテンツセキュリティポリシーと共に動作させようとしています。これが正しく動作し、私が持っている基本的なバージョン、次のとおりです。しかし、私はstyle-src
セクションでunsafe-inline
を取り除くしたいコンテンツセキュリティポリシーを使用したreCAPTCHA
HTML
<script src='//www.google.com/recaptcha/api.js' async defer></script>
HTTPヘッダ
Content-Security-Policy: default-src 'self'; script-src 'self' www.google.com www.gstatic.com; style-src 'self' https: 'unsafe-inline'; frame-src www.google.com;
。 documentationには、次のように書かれています。
CSP3で文書化されているノンスベースのアプローチを使用することをお勧めします。 nonceをreCAPTCHA api.jsスクリプトタグに含めるようにしてください。残りの部分は処理します。
HTML
<script src='//www.google.com/recaptcha/api.js' nonce="{NONCE}" async defer></script>
HTTPヘッダ
Content-Security-Policy: default-src 'self'; script-src 'self' https: 'nonce-{NONCE}'; style-src 'self' 'nonce-{NONCE}'; child-src www.google.com;
そして、これはエラーIです:
しかし、私はそれを動作させることができない...これは私が試したものですChromeにアクセスする53:
"style-src 'self' https: 'nonce- {NONCE}'"というコンテンツセキュリティポリシーの指令に違反しているため、インラインスタイルの適用が拒否されました。インライン実行を有効にするには、 'unsafe-inline'キーワード、ハッシュ( 'sha256-MammJ3J + TGIHdHxYsGLjD6DzRU0ZmxXKZ2DvTePAF0o =')、またはnonce( 'nonce -...')が必要です。
何が欠けていますか?
非常に便利なリンク! – Dargmuesli