본문 바로가기

Backend/Spring | SpringBoot

[Spring Security] CSP위반 에러

반응형

 

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'"

이런 에러가 발생했다. "script-src 'self'관련해서 게시물 보안 정책에 위반했다는 내용으로 생각되었다.

확인해보니 nonce-{nonce}  이 요소가 필요하다고 한다.

Nonce?
Nonce 값을 효과적으로 사용하기 위해서는 서버에서 생성된 nonce를 클라이언트로 전달하고, 클라이언트의 HTML에서 이 nonce 값을 사용하여 인라인 스크립트를 안전하게 실행할 수 있도록 해야 합니다.

 

이번 경우에는 서버(Spring Security)에서 처리 하도록 한다.

// 수정코드
.headers(
	headersConfigurer ->
	headersConfigurer
	.frameOptions(
		HeadersConfigurer.FrameOptionsConfig::sameOrigin
	)
	.contentSecurityPolicy( policyConfig ->
		policyConfig.policyDirectives(
			"script-src 'self'; img-src 'self'; font-src 'self' data:; default-src 'self'; frame-src 'self'"
		).reportOnly() // 추가
	)
);

 

이렇게 하면 CSP관련 정책 처리는 report 작성만 하게 된다.

정상접속은 가능하나 콘솔에서 이슈들을 확인할 수 있다.

반응형