안녕하세요,
nonce를 gtm에 생성하는 깔끔한 방법이 있다는 것을 확인했습니다. GTM 컨테이너를 설치하지 않고 nonce를 DOM에 추가할 수 있는 방법이 있을까요? 스크립트에 unsafe-inline을 사용하는 것을 피하고 싶습니다.
안녕하세요,
nonce를 gtm에 생성하는 깔끔한 방법이 있다는 것을 확인했습니다. GTM 컨테이너를 설치하지 않고 nonce를 DOM에 추가할 수 있는 방법이 있을까요? 스크립트에 unsafe-inline을 사용하는 것을 피하고 싶습니다.
좋은 질문입니다. 기술적으로 GTM이 설치되었든 아니든 상관없이 nonce를 포함해야 할 이유가 없다고 봅니다.
#pr-welcome으로 표시합니다.
CSP nonce를 사용하면 Cloudflare의 문제도 우회하는 데 도움이 될 것입니다.
Cloudflare의 Super Bot Fight Mode는 인라인 스크립트를 주입하며, 문서에서는 nonce 사용을 언급하고 있습니다:
제 사이트에서 발생하는 오류는 다음과 같습니다: “해시, nonce 또는 'unsafe-inline’가 Content Security Policy의 script-src 지시문에 포함되어 있지 않아 스크립트 실행이 거부되었습니다.”
우리의 스플래시 스크린 구현은 이미 CSP nonce를 사용하며, @Johani가 이를 구축했습니다.
GTM이나 superbot에서 비슷한 것을 작동시키는 것은 아마도 꽤 실현 가능할 것입니다.
실제로… 제 unsafe-inline가 갑자기 작동하지 않게 됐어요. 뭔가 깨지는 변경 사항이 들어간 건가요? 콘솔에 이런 메시지가 뜨네요:
Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list
아무것도 변경하지 않았는데, 스플래시 화면의 nonce 때문인 걸까요? ![]()
그 일 때문에 웹 분석 데이터 한 달치를 잃어버렸어요…