首頁 > web前端 > html教學 > 如何避免網頁被人嵌套在 iframe 裡?

如何避免網頁被人嵌套在 iframe 裡?

黄舟
發布: 2017-07-24 09:19:41
原創
2710 人瀏覽過

如題,我的網站內容被別人用 iframe 嵌套在自己的網站裡了,有沒有辦法屏蔽不讓他嵌套呢?

還有個比較好的方法:

在回應頭裡加上一個X-Frame-Options

取值有三種,大部分瀏覽器都支援:

DENY:瀏覽器拒絕目前頁面載入任何Frame頁面

SAMEORIGIN:frame頁面的位址只能為同源網域下的頁面

ALLOW-FROM origin:origin為允許frame載入的頁面位址

這樣被不同來源的頁面以iframe包含時就不會顯示了

寫腳本

if (window != window.top) 
{    
window.top.location.replace(window.location)    
// 这是直接代替外窗,你也可以干别的
}
登入後複製
if (window != window.top) 
{
window.top.location.replace(window.location)
//加弹窗代码 干死他们 还赚钱
}
登入後複製

新浪微博是這麼做的

if (top != self) 
{    
top.location = self.location;
}
登入後複製

基本上可以抵擋大多數iframe嵌套了。

還有看看人家是怎麼利用iframe嵌套實施攻擊的,就知道怎麼防禦了

目前最好的js的防禦方案為:

if (self == top) {
    var theBody = document.getElementsByTagName('body')[0];
    theBody.style.display = "block";
} else {
    top.location = self.location;
}
登入後複製

添加過濾腳本。原理是當偵測到目前的url連結不是自己的時候,讓src指向空白位址。具體代碼請google。

以上是如何避免網頁被人嵌套在 iframe 裡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板