[SPRING] Spring Security에서 'X-Frame-Options'응답 헤더를 비활성화하는 방법은 무엇입니까?
SPRINGSpring Security에서 'X-Frame-Options'응답 헤더를 비활성화하는 방법은 무엇입니까?
나는 내 JSP에 CKeditor를 가지고 있으며, 무언가를 업로드 할 때마다 다음과 같은 오류가 발생한다.
Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'.
나는 Spring Security를 제거하려고 노력했으며 모든 것이 매력처럼 작동합니다. 스프링 보안 xml 파일에서 이것을 어떻게 비활성화 할 수 있습니까?
해결법
-
==============================
1.기본적으로 X-Frame-Options는 클릭 잭킹 공격을 막기 위해 거부 됨으로 설정됩니다. 이것을 덮어 쓰려면 스프링 보안 설정에 다음을 추가하면됩니다.
기본적으로 X-Frame-Options는 클릭 잭킹 공격을 막기 위해 거부 됨으로 설정됩니다. 이것을 덮어 쓰려면 스프링 보안 설정에 다음을 추가하면됩니다.
<http> <headers> <frame-options policy="SAMEORIGIN"/> </headers> </http>
정책에 사용할 수있는 옵션은 다음과 같습니다.
자세한 내용은 여기를보십시오.
여기서는 XML 또는 Java 구성을 사용하여 헤더를 구성하는 방법을 확인합니다.
필요에 따라 적절한 전략을 지정해야 할 수도 있습니다.
-
==============================
2.XML 구성 대신 Java 구성을 사용하는 경우이를 "WebSecurityConfigurerAdapter.configure (HttpSecurity http)"메소드에 넣으십시오.
XML 구성 대신 Java 구성을 사용하는 경우이를 "WebSecurityConfigurerAdapter.configure (HttpSecurity http)"메소드에 넣으십시오.
http.headers().frameOptions().disable();
-
==============================
3.대부분이 헤더를 완전히 비활성화하고 싶지는 않지만 SAMEORIGIN을 사용하십시오. Java Config (Spring Boot)를 사용하고 X-Frame-Options : SAMEORIGIN을 허용하려면 다음을 사용해야합니다.
대부분이 헤더를 완전히 비활성화하고 싶지는 않지만 SAMEORIGIN을 사용하십시오. Java Config (Spring Boot)를 사용하고 X-Frame-Options : SAMEORIGIN을 허용하려면 다음을 사용해야합니다.
이전 스프링 보안 버전 :
http .headers() .addHeaderWriter(new XFrameOptionsHeaderWriter(XFrameOptionsHeaderWriter.XFrameOptionsMode.SAMEORIGIN))
Spring Security 4.0.2와 같은 새로운 버전의 경우 :
http .headers() .frameOptions() .sameOrigin();
-
==============================
4.XML 구성을 사용하는 경우
XML 구성을 사용하는 경우
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security"> <security:http> <security:headers> <security:frame-options disabled="true"></security:frame-options> </security:headers> </security:http> </beans>
-
==============================
5.Spring Boot를 사용한다면, Spring Security 기본 헤더를 비활성화하는 가장 간단한 방법은 security.headers. * 속성을 사용하는 것입니다. 특히 X-Frame-Options 기본 헤더를 비활성화하려면 application.properties에 다음을 추가하십시오.
Spring Boot를 사용한다면, Spring Security 기본 헤더를 비활성화하는 가장 간단한 방법은 security.headers. * 속성을 사용하는 것입니다. 특히 X-Frame-Options 기본 헤더를 비활성화하려면 application.properties에 다음을 추가하십시오.
security.headers.frame=false
사용할 수있는 security.headers.cache, security.headers.content-type, security.headers.hsts 및 security.headers.xss 속성도 있습니다. 자세한 내용은 SecurityProperties를 참조하십시오.
-
==============================
6.스프링 시큐리티의 자바 설정을 사용한다면 기본적으로 모든 기본 보안 헤더가 추가된다. 아래 자바 구성을 사용하여 비활성화 할 수 있습니다.
스프링 시큐리티의 자바 설정을 사용한다면 기본적으로 모든 기본 보안 헤더가 추가된다. 아래 자바 구성을 사용하여 비활성화 할 수 있습니다.
@EnableWebSecurity @Configuration public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .headers().disable() ...; } }
from https://stackoverflow.com/questions/28647136/how-to-disable-x-frame-options-response-header-in-spring-security by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 트랜잭션 이해하기 - 트랜잭션 메소드가 다른 트랜잭션 메소드를 호출하면 어떻게 될까? (0) | 2018.12.17 |
---|---|
[SPRING] 프록시를 초기화 할 수 없습니다 - 세션 없음 (0) | 2018.12.17 |
[SPRING] Spring에서 런타임시 bean (prototype) 등록하기 (0) | 2018.12.17 |
[SPRING] spring PropertyPlaceholderConfigurer 및 컨텍스트 : property-placeholder (0) | 2018.12.17 |
[SPRING] Spring 애플리케이션 컨텍스트 외부 특성? (0) | 2018.12.17 |