Spring Security XSS 방지1 - eunja511005/Tutorial GitHub Wiki
1. X-XSS-Protection: 1; mode=block
Spring Security에서 자동으로 추가해주므로 따로 수정 필요 없음
2. Content-Sercurity-Policy: script-src 'self'
아래와 같이 설정을 추가해 주면 Response 헤더에 추가 됨
크롬, 엣지, 사파리, 파리어폭스에서 해당 헤더 지원함
@Configuration
public class SecurityConf {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.headers()
.xssProtection()
.and()
.contentSecurityPolicy("script-src 'self'");
return http.build();
}
}
3. 입력값 유효성 체크
public class Book {
@Min(1)
@Id
private long id;
@Size(min=3, max=50)
private String name;
@Size(min=3, max=50)
@Pattern(message="Type can contain alphanumeric characters only", regexp = "[a-zA-Z0-9 ]+")
private String type;
}