>  기사  >  웹 프론트엔드  >  Android에서 Lollipop 위의 Cordova 앱에 CSP(콘텐츠 보안 정책) 오류가 발생하는 이유는 무엇입니까?

Android에서 Lollipop 위의 Cordova 앱에 CSP(콘텐츠 보안 정책) 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-19 13:10:29847검색

Why is my Cordova App Encountering a Content Security Policy (CSP) Error on Android Above Lollipop?

콘텐츠 보안 정책 오류: Lollipop 위의 Android에서 스크립트 차단

Lollipop(Android 5.0.0)을 실행하는 Android 기기에 Cordova 앱을 배포하는 경우 ) 이상인 경우 "다음 콘텐츠 보안 정책 지시문: 'script-src 'self' 'unsafe-eval' 'unsafe-inline'을 위반했기 때문에 스크립트 로드가 거부되었습니다."라는 오류 메시지가 나타날 수 있습니다. 이는 앱의 기본 콘텐츠 보안 정책(CSP)이 외부 도메인에서 스크립트 로드를 차단하고 있음을 나타냅니다.

Android KitKat 이하용 기본 CSP

Android KitKat(4.4.x) 이하의 기본 CSP를 사용하면 HTML 문서('self'), CDN(예: 'gstatic.com') 및 로컬 저장소('data'와 동일한 도메인을 포함하여 신뢰할 수 있는 소스에서 스크립트를 로드할 수 있습니다. ').

Android Lollipop 이상에 필요한 변경 사항

Lollipop 이상을 실행하는 기기의 경우 외부 도메인에서 스크립트 로드를 명시적으로 허용하도록 기본 CSP를 수정해야 합니다. 이는 CSP 정의를 담당하는 태그입니다.

해결책: 콘텐츠 보안 정책 수정

오류를 수정하려면 프로젝트의 index.html 파일에 다음 콘텐츠를 포함하는 태그를 추가하세요.

<code class="html"><meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *;**script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval';**" /></code>

"http://Guess.What.com/MyScript.js"를 가져오려는 스크립트의 실제 URL로 바꾸세요. 이 수정을 통해 지정된 도메인에서 스크립트를 로드하여 CSP 위반 오류를 해결할 수 있습니다.

위 내용은 Android에서 Lollipop 위의 Cordova 앱에 CSP(콘텐츠 보안 정책) 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.