如何避開(kāi)頁(yè)面被人嵌套在 iframe 里?
發(fā)表時(shí)間:2024-05-11 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]如題,我的網(wǎng)站內(nèi)容被別人用 iframe 嵌套在自己的網(wǎng)站里了,有沒(méi)有辦法屏蔽不讓他嵌套呢?還有個(gè)比較好的辦法:在響應(yīng)頭里加一個(gè)X-Frame-Options取值有三種,大部分瀏覽器都支持:DENY:瀏覽器拒絕當(dāng)前頁(yè)面加載任何Frame頁(yè)面SAMEORIGIN:frame頁(yè)面的地址只能為同源域名下...
如題,我的網(wǎng)站內(nèi)容被別人用 iframe 嵌套在自己的網(wǎng)站里了,有沒(méi)有辦法屏蔽不讓他嵌套呢?
還有個(gè)比較好的辦法:
在響應(yīng)頭里加一個(gè)X-Frame-Options
取值有三種,大部分瀏覽器都支持:
DENY:瀏覽器拒絕當(dāng)前頁(yè)面加載任何Frame頁(yè)面
SAMEORIGIN:frame頁(yè)面的地址只能為同源域名下的頁(yè)面
ALLOW-FROM origin:origin為允許frame加載的頁(yè)面地址
這樣被不同源的頁(yè)面以iframe包含時(shí)就不會(huì)顯示了
寫腳本
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;
}
基本可以抵擋大多數(shù)iframe嵌套了。
還有看一下人家是怎么利用iframe嵌套實(shí)施攻擊的,就知道怎么防御了
目前最好的js的防御方案為:
if (self == top) {
var theBody = document.getElementsByTagName('body')[0];
theBody.style.display = "block";
} else {
top.location = self.location;
}
添加過(guò)濾腳本。原理是當(dāng)檢測(cè)到當(dāng)前的url鏈接不是自己的時(shí)候,讓src指向空白地址。具體代碼請(qǐng)google。
以上就是 如何避免網(wǎng)頁(yè)被人嵌套在 iframe 里?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。