アップグレード後、GTMのコンテンツセキュリティポリシーのスクリプトsrc

Discourse を 2021-04-08 に更新しました。

その後、content_security_policy に問題がある可能性に気づきました。

content security policy のスクリプト src に対する GTM

F12 でコンソールを確認:

これは Discourse の最新バージョンに更新した際に発生しました。

「いいね!」 1

送信された完全な CSP ヘッダーを表示していただけますか?

「いいね!」 1

@supermathie

迅速なご回答をありがとうございます。

Firefox からヘッダーを読み込もうと試みました。私が正しく操作したかどうかは確信が持てません。

画面のスクリーンショットを添付します。

Chrome に変更しました。

こちらの方が、リクエストの詳細を確認できるかもしれません。

元の投稿以降に変更があったため、現在は期待通りに動作しています:

○ → curl -I https://www.ossez.com
HTTP/2 200 
…
content-security-policy: base-uri 'none'; object-src 'none'; script-src https://www.ossez.com/logs/ https://www.ossez.com/sidekiq/ https://www.ossez.com/mini-profiler-resources/ https://www.ossez.com/assets/ https://www.ossez.com/brotli_asset/ https://www.ossez.com/extra-locales/ https://www.ossez.com/highlight-js/ https://www.ossez.com/javascripts/ https://www.ossez.com/plugins/ https://www.ossez.com/theme-javascripts/ https://www.ossez.com/svg-sprite/ https://www.googletagmanager.com/gtm.js 'nonce-38d2a45e5e933b869e14465772b2c0de' https: https://tagmanager.google.com https://www.googletagmanager.com 'unsafe-inline' https://analytics.ossez.com/matomo.js https://www.ossez.com/cdn-cgi/apps/head/qk5vBDFy7qBIoPy3q8a6LUoKei8.js https://www.googletagmanager.com/gtm.js; worker-src 'self' https://www.ossez.com/assets/ https://www.ossez.com/brotli_asset/ https://www.ossez.com/javascripts/ https://www.ossez.com/plugins/

'unsafe-inline' は現在適切に引用符で囲まれていますが、Chrome によって無視されています:

インラインスクリプトの実行が拒否されました。これは以下のコンテンツセキュリティポリシーディレクティブに違反しています:[…] ソースリストにハッシュまたはノンス値が存在する場合、'unsafe-inline' は無視されます。

また Firefox でも同様です:

コンテンツセキュリティポリシー:script-src または style-src 内の「'unsafe-inline'」を無視しました:ノンスソースまたはハッシュソースが指定されています

これは、CSP リストにノンス値('nonce-38d2a45e5e933b869e14465772b2c0de')が指定されているためです。

Cloudflare の裏にいらっしゃるようですが、デフォルトでは Discourse を壊す可能性があるため、いくつかの Cloudflare 機能 を無効にする必要がある点にご注意ください。

「いいね!」 4

どうもありがとうございます。

「いいね!」 1