国产视频app 今天有人反饋了一個在iframe內無法調用網站同一個站點的頁面問題并報錯,就在網站查了一些相關的資料,整理一下關于禁止網站所有頁面或某一個頁面被iframe內框架調用的方法。

国产视频app 網站iframe內框架調用頁面報錯如下

Refused to display http://xxxxxx.com in a frame because it set 'X-Frame-Options' to 'deny'.

通過查到的資料可得知,此錯誤與iframe框架被調用頁面的 HTTP 標頭中 X-Frame-Options 設置有關,所以整理了如下資料

X-Frame-Options 介紹

国产视频app X-Frame-Options是一個HTTP響應頭,用來告訴瀏覽器此頁面是否可以在其它網頁中的frame或iframe標簽中被渲染,網站可以利用此響應頭來避免被其它網站所劫持。

X-Frame-Options有三個參數值,分別如下

DENY:表示不能被嵌入到任何iframe或frame中。

国产视频app SAMEORIGIN:表示頁面只能被本站頁面嵌入到iframe或者frame中。

国产视频app url,指定是一個域名,表示此網頁只能被指定域名下的頁面中的框架所調用

X-Frame-Options 使用如下

html代碼

以下代碼,添加到HTML頁面中的head標簽內即可

代碼1:html頁面禁止被框架調用

<meta http-equiv="X-Frame-Options" content="deny">

代碼2:只允許頁面被本站調用

<meta http-equiv="X-Frame-Options" content="SAMEORIGIN">

代碼3:只允許頁面被指定URL嵌套調用

<meta http-equiv="X-Frame-Options" content="http://xswdd.cn">

經過測試,使用以上代碼個別瀏覽器會拋出如下錯誤提示,使用時請慎重

 X-Frame-Options may only be set via an HTTP header sent along with a document. It may not be set inside <meta>.

PHP代碼

<?php
//示例1
header('X-Frame-Options: deny');
//示例2
header('X-Frame-Options: SAMEORIGIN');
//示例3
header('X-Frame-Options: http://xswdd.cn');
?>

PS:網站被iframe內框架調用的危害性

攻擊者可以使用一個透明的、不可見的iframe標簽,加載目標頁面,然后通過調整iframe頁面的位置,誘導用戶進行點擊操作頁面的功能區,并劫持用戶的數據,達到劫持頁面的目的。