iis,apache,nginx 는 X-Frame-Options 를 사용 하여 웹 페이지 가 Frame 에 의 해 해결 되 는 것 을 방지 합 니 다.
5422 단어 X-Frame-Options
우선 360 이 제시 한 방안 을 살 펴 보 겠 습 니 다.하지만 서버 에 대한 구체 적 인 설정 이 있 습 니까?모든 사람 이 서버 에 대해 잘 알 고 있 는 것 은 아 닙 니 다.
설명:대상 서버 에서 X-Frame-Options 헤드 를 되 돌려 주지 않 았 습 니 다.
X-Frame-options HTTP 응답 헤드 는 브 라 우 저가 frame 이나 iframe 태그 에 페이지 를 표시 할 수 있 는 지 확인 하 는 데 사 용 됩 니 다.사 이 트 는 이 헤드 로 그들의 내용 이 다른 사이트 에 포함 되 지 않도록 보증 할 수 있 습 니 다.클릭 하여 납 치 를 피 할 수 있 습 니 다.
위해:공격 자 는 투명 하고 보이 지 않 는 iframe 을 사용 하여 대상 홈 페이지 에 덮어 쓰 고 사용 자 를 이 홈 페이지 에서 조작 하도록 유도 할 수 있 습 니 다.이때 사용 자 는 모 르 는 상태 에서 투명 한 iframe 페이지 를 클릭 합 니 다.iframe 페이지 의 위 치 를 조정 함으로써 사용자 가 iframe 페이지 의 일부 기능 성 단 추 를 누 르 도록 유도 하여 납 치 될 수 있 습 니 다.
해결 방안:
웹 서버 설정 을 수정 하고 X-frame-options 응답 헤드 를 추가 합 니 다.할당 은 다음 과 같은 세 가지 가 있 습 니 다.
(1)DENY:iframe 이나 frame 에 삽입 할 수 없습니다.
(2)SAMEORIGIN:페이지 는 이 사이트 페이지 에 만 iframe 이나 frame 에 삽 입 될 수 있 습 니 다.
(3)ALLOW-FROM uri:지정 한 도 메 인 이름 의 프레임 에 만 삽 입 됩 니 다.
코드 에 도 추가 할 수 있 습 니 다.PHP 에 도 추가 할 수 있 습 니 다.
header('X-Frame-Options: deny');
저희 가 인터넷 에서 정리 한 더 자세 한 방법 을 살 펴 보 겠 습 니 다.웹 페이지 가 Frame 에 의 해 보호 되 는 방법 은 여러 가지 가 있 습 니 다.
방법 1:흔히 볼 수 있 는 예 를 들 어 js 를 사용 하여 맨 위 창 을 판단 합 니 다.
(function () {
if (window != window.top) {
window.top.location.replace(window.location); //
}
})();
일반적으로 이렇게 하면 충분 하지만 한 번 은 효력 을 잃 은 것 을 발 견 했 습 니 다.다른 사람의 사 이 트 를 보면 바로 맨 위 창의 코드 입 니 다.이 코드 를 발 견 했 습 니 다.
var location = document.location;
// var location = "";
비극.방법 2:meta 태그:기본적으로 효과 가 없어 서 포기 했다.
<meta http-equiv="Windows-Target" contect="_top">
방법 3:HTTP 응답 헤더 정보 에 있 는 X-Frame-options 속성 사용X-Frame-options 를 사용 하면 선택 할 수 있 는 값 이 세 개 있 습 니 다.
DENY
:브 라 우 저 는 현재 페이지 에 프레임 페이지 를 불 러 오 는 것 을 거부 합 니 다.SAMEORIGIN
frame 페이지 의 주 소 는 같은 소스 도 메 인 이름 의 페이지 일 수 있 습 니 다.ALLOW-FROM
origin 은 frame 로 딩 을 허용 하 는 페이지 주소 입 니 다.대부분의 브 라 우 저 지원:
Feature
Chrome
Firefox (Gecko)
Internet Explorer
Opera
Safari
Basic support
4.1.249.1042
3.6.9(1.9.2.9)
8.0
10.5
4.0
IIS 설정
IIS 6 에서 HTTP 헤드 설정 을 통 해
IIS 7 에 서 는 웹.config 를 통 해서 도 위 와 같은 설정 을 할 수 있 습 니 다.
IIS 에서 X-Frame-Options 응답 헤드 를 보 내 도록 설정 하고 웹 config 파일 에 아래 설정 을 추가 합 니 다.
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
그림 인터페이스 설정아파 치 설정
Apache 를 모든 페이지 에 X-Frame-Options 응답 헤더 로 보 낼 것 을 설정 합 니 다.'site'설정 에 다음 줄 을 추가 해 야 합 니 다.
Header always append X-Frame-Options SAMEORIGIN
설정 nginxnginx 에서 X-Frame-Options 응답 헤 더 를 보 내 고 아래 줄 을'http','server'또는'location'설정 에 추가 합 니 다.
add_header X-Frame-Options SAMEORIGIN;
HAProxy 설정
rspadd X-Frame-Options:\ SAMEORIGIN
tomcat 와 X-Frame-Options회사 프로젝트 는 tomcat 만 웹 서버 로 사 용 했 는데 인터넷 에서 검색 한 내용 은 제 요구 에 부합 되 지 않 는 것 같 습 니 다.
원래 생각 은 jsp 페이지 마다 추가 하 는 거 예요.
<%
response.addHeader("x-frame-options","SAMEORIGIN");
%>
그러나 나중에 생각해 보 니 이런 방법 은 너무 어 리 석 었 다.만약 테스트 를 통과 하지 못 하면 고 쳐 야 한다.그래서 프로젝트 의 원래 필터 에 다음 과 같은 코드 를 추가 하 는 방법 이 생각 났 습 니 다.
HttpServletResponse response = (HttpServletResponse) sResponse;
response.addHeader("x-frame-options","SAMEORIGIN");
효과 가 있 었 던 것 같 습 니 다. 고객 테스트 기다 리 세 요!구체 적 으로 볼 수 있 습 니 다:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME-OPTIONS_response_header
결실
Firefox 에서 frame 의 내용 을 불 러 오 려 고 시도 할 때 X-Frame-Options 응답 헤드 가 접근 금지 로 설정 되면 Firefox 는 about:blank 로 frame 에 표 시 됩 니 다.어쩌면 어떤 면 에서 보면 잘못된 소식 으로 보 여 주 는 것 이 좋 을 지도 모른다.
가상 호스트 를 사용 하 는 사용 자 는 어떻게 합 니까?
PHP 와 JSP 등 동적 파일 이 더 편리 합 니 다.
메시지 변경
PHP 코드:
header(‘X-Frame-Options:SAMEORIGIN');
JSP 코드:response.setHeader(“X-Frame-Options”,”SAMEORIGIN”);
ASP 코드:<%Response.AddHeader "X-Frame-Options","SAMEORIGIN"%>
ASP.NET 코드:Response.AddHeader("X-Frame-Options", "Deny");
아니면 그 말 이 사이트 전체 가 프레임 워 크 되 지 않 는 다 는 것 을 확인 하면 웹 서버 를 직접 설정 하여 X-Frame-Options 응답 헤드 를 추가 할 수 있 습 니 다.IIS 는 아래 그림 에서 보 듯 이 http 헤드 를 추가 하고 위의 iis 6 와 iis 7 의 설정 방법 을 참고 합 니 다.X-Frame-Options 응답 헤더 에 대한 브 라 우 저 지원 은 다음 과 같 습 니 다.
브 라 우 저
버 전 지원
IE
8.0+
Firefox
3.6.9+
Opera
10.50+
Safari
4.0+
Chrome
4.1.249.1024+
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
iis,apache,nginx 는 X-Frame-Options 를 사용 하여 웹 페이지 가 Frame 에 의 해 해결 되 는 것 을 방지 합 니 다.X-Frame-options HTTP 응답 헤드 는 브 라 우 저가 frame 이나 iframe 태그 에 페이지 를 표시 할 수 있 는 지 확인 하 는 데 사 용 됩 니 다.사 이 트 는 이 헤드 로 그들의 내용 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.