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