Refused to load the script ‘https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js’

다음 카카오 스크립트 오류의 해결방법에 관한 글입니다.

증상

브라우저의 개발자모드 콘솔창에 다음과 같은 오류메세지가 출력됨

Refused to load the script ‘https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js’ because it violates the following Content Security Policy directive: “script-src ‘self’ ‘unsafe-inline’ 기존 허용 도메인들 “. Note that ‘script-src-elem’ was not explicitly set, so ‘script-src’ is used as a fallback.

보통 카카오 연동 로그인을 사용하는 경우 다음과 같이 자바스크립트를 임포트할 것이다.
<script src=”//developers.kakao.com/sdk/js/kakao.min.js”>

원인

웹 브라우저에서 //developers.kakao.com/sdk/js/kakao.min.js 주소를 열어보면 CDN의 주소인 https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js 로 열리는 경우가 있다. 오잉? 도메인이 kakao.com에서 kakaocdn.net으로 바뀌네?!

해결방법

보통 써드파티(외부) 스크립트를 임포트 하는 경우 화면쪽 메타테그나 컨트롤러쪽의 응답헤더에 다음과 같은 형식으로 콘텐츠 보안 정책(CSP:Content-Security-Policy)을 설정하여 XSS(크로스사이트스크립팅)공격을 막는다.
카카오 도메인을 가진 스크립트를 허용하려면 기존에 다음과 같이 설정이 되어 있을 것이다.
Content-Security-Policy: default-src ‘self’ *.kakao.com


이 부분에 카카오 CDN의 주소인 *.kakaocdn.net를 아래와 같이 추가하면 더이상 해당 경고메세지를 보지 않아도 된다.
Content-Security-Policy: default-src ‘self’ *.kakao.com *.kakaocdn.net

참고사이트

웹개발을 하다보면 CSP에 대한 이해는 필수이다. 다음 페이지들을 한번 읽어보길 추천한다. example 2가 이 포스팅의 케이스임.

생계형 특급 개발자이자 아들 하나 있는 평범한 아빠. 취미는 요리, 캠핑, 뮤직 페스티발 다니기 등이지만 이 블로그에는 주로 개발관련된 내용만 올릴 예정입니다. 워드프레스를 시작한지 얼마 되지않아 사이트가 허전하지만 좋은 내용으로 채우도록 노력하겠습니다. 자주 놀러오세요 ^^
Posts created 54

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top