로컬에서 개발하다 웹페이지 로딩시 제목과 같은 에러가 났다.
▶ 원인
'클릭재킹'을 방지하기 위한 Spring Security 의 default 설정이 X-Frame-Options=deny 이다.
우리는 deny 값을 SAMEORIGIN 이라는 값으로 변경해주어야 한다.
※ 클릭재킹(Clickjacking, User Interface redress attack, UI redress attack, UI redressing)은 웹 사용자가 자신이 클릭하고 있다고
인지하는 것과 다른 어떤 것을 클릭하게 속이는 악의적인 기법으로써 잠재적으로 공격자는 비밀 정보를 유출시키거나 그들의
컴퓨터에 대한 제어를 획득할 수 있게 된다. - 위키백과
▶ 조치
* Spring Boot 는 properties 에 추가해주자.
- security.headers.frame=false
* Spring Maven 의 경우엔 spring-security.xml에 <http>태그안에 헤더옵션을 추가해주자!
<http>
<headers>
<frame-options policy="SAMEORIGIN"/>
</headers>
</http>
* 구글서치를 해보면 tomcat 의 web.xml 에 SAMEORIGIN 옵션을 설정하는것으로 많이 나와있지만,
spring-security.xml에 위 태그를 넣으니 잘 동작되었다. 스프링 버전이 올라가면서 기존에 web.xml에 설정하던것이
xml로 변경된 듯 하다.
끝.
본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요.
정보 공유를 위한 포스팅에 큰 힘이 됩니다.
만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다.
읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요.