iFrame 사용 막기 - X-Frame-Options 질문입니다.

iFrame 사용 막기 - X-Frame-Options 질문입니다.

QA

iFrame 사용 막기 - X-Frame-Options 질문입니다.

본문

일반 사이트 운영중 구글 애드센스에서 내 코드가 다른 사이트에  사용되고 있다고 경고가 나오길래..

그 사이트를 클릭했더니... 내 사이트가 나오네요.

소스를 보니 iframe으로 내 사이트를 보여주고 있는데..

구글링을 해보니 아주~ 나쁜짓이 더군요. 

그래서 방법으로 iframe 사용을 막아야 한다면서 아래 2가지를 추천 하는데..

 

질문1) 근본적으로 막는 방법이 아래 두가지 방법이 맞나요? 여러분들은 어떻게 대처하고 있나요?

질문2) 아래 2가지 소스를 모두 같이 사용해도 되나요?

- 첫번째 소스는 접근 자체를 차단하는 것 같고

- 두번째 소스는 원래 사이트로 새창으로 리다이렉트 하는 것 같습니다 (새창 열기 허용해줘야 함)

질문3) 아래 2가지 소스를 사용했을때 그누보드 이용에 제약이 있는것은 없나요?

 

감사합니다.

 

 

참고사이트

https://ziplineb2b.com/blog/how-to-prevent-a-website-from-being-loaded-in-an-iframe/

 


<?PHP header('X-Frame-Options: SAMEORIGIN'); ?>

 


<style id="antiClickjack">
body{display:none !important;}
</style>
<script language="javascript" type="text/javascript">
if (self === top) { 
    var antiClickjack = document.getElementById("antiClickjack");
    antiClickjack.parentNode.removeChild(antiClickjack);
    } else {
    top.location = self.location;
    } 
</script>

 

 

다른 사이트에서 발견한 소스는 아래와 같은데..... 

맞는 소스인지 검증 해주실 수 있나요?

위 소스를 1개로 합쳐놓은 것 같기두 하구요.. ^^

 


<script language="javascript" type="text/javascript">
var style = document.createElement('style');
 style.type = "text/css";
 style.id = "antiClickjack";
 if ('cssText' in style)
   style.cssText = "body{display:none !important;}";
 else
   style.innerHTML = "body{display:none !important;}";
     if (self === top) {
         var antiClickjack = document.getElementById("antiClickjack");
         antiClickjack.parentNode.removeChild(antiClickjack);
     } else {
         top.location = self.location;
     }
</script>

이 질문에 댓글 쓰기 :

답변 1

https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Frame-Options

 

공식사이트의 내용을 참고하시면 도움이 되실런지요?

 

header()함수는

 

브라우저로 전송할 html문서의 헤더에 적용하는 php 함수입니다.

 

내용상 하자는 없어보입니다.

 

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy

 

이런것도 있습니다.

 

https://yyman.tistory.com/1089

의견 감사합니다. 다른 분들은 어떻게 방어하고 있는지 궁금했는데 참여가 부족해 제가 원했던 답만 받아 갑니다.

저는 서버 설정을 하지 않고 index.php 파일에 아래 2가조 모두 삽입해서 막고 있습니다.

다시한번 의견 주셔서 감사 드립니다.

<?PHP header('X-Frame-Options: SAMEORIGIN'); ?>

<style id="antiClickjack">
body{display:none !important;}
</style>
<script language="javascript" type="text/javascript">
if (self === top) {
    var antiClickjack = document.getElementById("antiClickjack");
    antiClickjack.parentNode.removeChild(antiClickjack);
    } else {
    top.location = self.location;
    }
</script>

답변을 작성하시기 전에 로그인 해주세요.
전체 169
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT