티스토리 뷰
SW개발/Mobile-Hybrid
Cordova(코르도바) Android(안드로이드) Content Security Policy(CSP) 오류 해결
sy.lukas 2022. 3. 2. 13:05반응형
Cordova 하이브리드 앱 제작시 발생되는 Content Security Policy(CSP)오류를 해결하는 방법을 알아보겠습니다.
글쓴이인 경우 개발 과정에서는 문제가 없었으나, 구글 플레이스토어에 출시를 위해 업로드 후 검토를 진행하는 과정에서 오류가 발생되어 해결했습니다.
먼저 오류의 로그를 확인해보겠습니다.
FATAL EXCEPTION: Thread-3
Process: com.itnbasic.allexschool, PID: 24532
java.lang.RuntimeException: java.lang.RuntimeException: Error in evaluationEvaluation: status: 13 value: {message=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 'report-sample' 'nonce-048oYdhFVJiE37vWJzf+6g' 'unsafe-inline'".
} hasMessage: true message: 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 'report-sample' 'nonce-048oYdhFVJiE37vWJzf+6g' 'unsafe-inline'".
at androidx.test.espresso.web.sugar.Web$WebInteraction$ExceptionPropagator.<init>(Web.java:2)
at androidx.test.espresso.web.sugar.Web$WebInteraction.doEval(Web.java:10)
...
오류가 정확히 일치하지는 않겠지만, 오류의 주 핵심은 'unsafe-eval'이 CSP에 의해 허용되지 않는다는 내용입니다.
아마도 사용한 플러그인 중에서 Javascript eval()을 사용해서 발생된 것 같습니다.
그 외에도 'unsafe-inline' 등의 CSP 관련으로 발생된 오류를 해결하려면 아래와 같이 간단히 meta tag(메타태그)를 index.html파일의 head tag안에 추가해 주면 됩니다.
<head>
...
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline'; font-src: * 'unsafe-inline';">
...
</head>
반응형
'SW개발 > Mobile-Hybrid' 카테고리의 다른 글
macOS(맥)에서 Cordova(코르도바) iOS Plugin의 CocoaPods 오류 해결 (0) | 2021.12.27 |
---|---|
Cordova(코르도바) 업데이트 및 npm(Node.js) 업데이트 (0) | 2021.12.27 |
Cordova(코르도바) Orientation(화면) 가로,세로 고정 및 회전 지정 (0) | 2021.12.08 |
Cordova(코르도바) 실행 로딩화면 Splashscreen(스플래시 스크린) 적용 (0) | 2021.12.08 |
Cordova(코르도바) Hosted WebApp에서 Plugin 연동하기 (0) | 2021.12.06 |