body 닫기 전에 JavaScript를 추가하는 승인된 방법이 있나요?

이 문제에 대해 조금 조사해보았고, 보안 관련 논리 등에 대해 잘 알고 있습니다. 그런데 이 작업을 수행할 수 있는 방법이 이미 개발되었는지 궁금합니다. 광고 차단 방지 스크립트를 실행하고 싶은데, 이는 </body> 태그 이전에 삽입되어야 합니다. 테마에 추가해 보았지만 아무런 효과가 없었습니다. 보안 루틴이 스크립트를 제거하고 있는 것은 아닌지 추정됩니다. 어쨌든 테마 커스터마이징 영역의 </body> 또는 “Footer” 옵션에서 제 환경에서는 로드되지 않습니다.

참고로 이는 원격 파일 링크가 아닌 순수 JavaScript 코드입니다.

감사합니다,
Jim

JS를 </body> 안에 스크립트 태그로 넣으셨나요?

<script type="text/javascript">

 <<< JS >>

</script>

네, 이미 데스크톱 버전의 </body>에 스크립트를 삽입했습니다.

<script type="text/javascript"  charset="utf-8">
eval(function....
</script>

음… 스크립트가 포함된 파일이 아래를 통해 푸터에 삽입되고 있는 것을 확인했습니다:

<script src="[/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com](https://mywebsite.com/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com)"></script>

해당 파일(제 경우)로 들어가면 테마 커스터마이징 영역에 넣었던 것과 동일한 JS가 표시됩니다.

하지만 제가 볼 때, 다른 사이트에서 정상적으로 작동하는 것과 달리(광고 차단 기능이 활성화되어 있어서인지) 여기서는 작동하지 않는 것 같습니다.

음… JS 콘솔에 예외/에러가 발생하고 있어요:

Uncaught EvalError: Refused to evaluate a string as JavaScript because ‘unsafe-eval’ is not an allowed source of script in the following Content Security Policy directive: "script-src…

그래서 "eval"을 안전하게 만들거나 이 특정 사용을 허용하는 방법이 있을까요?

콘텐츠 보안 정책 사이트 설정에서 eval을 화이트리스트에 추가할 수 있습니다. 자세한 내용은 콘텐츠 보안 정책을 사용하여 XSS 공격 완화를 참조하세요.

다만, 사이트가 보안 취약점에 노출될 수 있으므로 이 방법은 권장하지 않습니다.