2016-09-14 1 views
0

X-Frame-Options HTTP 헤더를 사용해야하는 시나리오는 무엇입니까?X-Frame-Options는 언제 사용합니까?

브라우저가 다른 웹 페이지의 프레임에 웹 페이지를 표시 할 수 있도록 허용할지 여부를 나타내는 HTTP 헤더입니다. 클릭 재킹 공격에 대한 방어 수단으로 사용됩니다.

<form> 요소가 포함 된 웹 페이지에서만 의미가 있습니까?

웹 페이지에서만 의미가 있으며 HTTP POST 요청을 수행합니까?

전자 상거래 웹 사이트의 결제 페이지에 해당합니까?

어떤 시나리오를 사용해야합니까?

답변

0

간단한 답변은 어디서나 프레임이 필요하지 않은 곳입니다.

프레이밍은 완전히 작동하는 사이트를 다른 사이트에로드하고 잠재적으로 click-jacking이라는 프로세스에서 상호 작용할 수 있으므로 위험 할 수 있습니다.

예를 들어 실제 인터넷 뱅킹 사이트처럼 보이는 URL로 가짜 사이트를 설정합니다. 이것은 가짜 사본을 만들려고 노력하지 않고 실제 사이트를 구성함으로써 훨씬 쉽습니다. 그런 다음 사용자 이름과 암호 필드 위에 가짜 입력란을 만들고 그 값을 읽고 앉아서 사용자 이름과 비밀번호를 수집합니다.

아마도 양식이있는 페이지에서만이 작업을 수행하면되지만 실제로 열심히하고 양식으로 각 페이지에 설정해야한다는 것을 기억해야한다고 주장 할 수 있습니다. 전체 사이트에 대해 한 번 설정하고 잊어 버리십시오.

다른 중요하지 않은 페이지의 프레이밍을 허용하고 위에서 언급 한 것과 같이 쉽게 잊어 버릴 수 있도록함으로써 사이트 전체를 쉽게 위장 할 수있게하고 로그인 또는 체크 아웃 페이지 만 수동으로해야합니다. 속이는. 그래서 Amazon.com의 가짜 버전을 설정하고 Amazon.com 전체를 구성하여 본격적으로 보이게 한 다음 체크 아웃하자마자 내 체크 아웃 페이지로 리디렉션 할 수 있습니다. 전체 사이트보다 한 페이지를 가짜로 만드는 것이 훨씬 쉽습니다.

그래서 내 원래의 질문에 대한 답변으로 돌아갑니다. 왜이 헤더를 사방에 넣지 않으시겠습니까? 예, 각 응답마다 약간의 여분의 바이트가 있습니다. 그러나 최적화 된 사이트가 아니면 예외입니다. 네, 기술적으로 표준이 아니기 때문에 (따라서 X 비트 이름) 모든 주류 브라우저는 기본 "거부"및 "SAMEORIGIN"변종을 지원하므로 왜 사용하지 않을까요?

+0

그때 나는 합법적 인 프레임을 막을 것입니다. 다른 한편으로, 나는 합법적 인 골조를위한 시나리오를 생각해 내는데 어려움을 겪고있다. – Fred

+0

예. Framing은 실제로 위대한 UX가 아니기 때문에 부끄러워하지 않고 ClickJacking은 더 이상 합법적 인 이유를 거의 사용하지 않아서 대다수는 SAMEORIGIN X-Frame-Options의 적용을받습니다. –