CSP 정책

홍태화·2023년 10월 18일

CSP는 웹 애플리케이션의 보안을 강화하기 위한 정책으로
인라인 JavaScript 코드나 동적으로 생성된 스크립트를 사용할 때 정책을 위반할 수 있다

HTTP 헤더를 이용해 웹에 적용한다

적용 방법

Spring

Spring Framework에서 CSP 정책을 적용하려면 Spring Security를 사용

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.headers()
            .contentSecurityPolicy("default-src 'self'; script-src 'self' 'unsafe-inline';");
    }
}

PHP

PHP 스크립트 내에서 header() 함수를 사용

header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline';");

Apache 웹 서버 (HTTPd)

.htaccess 파일에 CSP 헤더 추가

<IfModule mod_headers.c>
  Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline';"
</IfModule>

Nginx 웹 서버

Nginx 서버 블록에 CSP 헤더 추가

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline';";
profile
우어어아아앙

0개의 댓글