업그레이드 후 GTM의 Content Security Policy script src

Discourse가 2021-04-08에 업데이트되었습니다.

그 후 content_security_policy에 문제가 있을 수 있음을 발견했습니다.

GTM의 content security policy 스크립트 src

F12 콘솔:

이는 Discourse의 최신 버전으로 업데이트하면서 발생했습니다.

전송된 전체 CSP 헤더를 보여줄 수 있나요?

@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에서는 무시되고 있습니다:

인라인 스크립트 실행 거부: 다음 Content Security Policy 지시사항을 위반합니다: […] 소스 목록에 해시 또는 nonce 값이 존재하면 'unsafe-inline’은 무시됩니다.

그리고 Firefox에서는:

Content Security Policy: script-src 또는 style-src 내의 “‘unsafe-inline’” 무시: nonce-source 또는 hash-source가 지정됨

CSP 목록에 nonce 값('nonce-38d2a45e5e933b869e14465772b2c0de')을 지정했기 때문입니다.

Cloudflare를 사용 중이신 것 같습니다. 기본적으로 Cloudflare의 다양한 기능은 Discourse를 깨뜨리기 때문에 이를 비활성화해야 한다는 점을 유의해 주세요.

정말 감사합니다.