首頁 > web前端 > js教程 > js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套

js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套

高洛峰
發布: 2017-01-12 11:14:58
原創
2179 人瀏覽過

1. js如何判斷是否在iframe中

Js代碼

//方式一
if (self.frameElement && self.frameElement.tagName == "IFRAME") {
   alert('在iframe中');
}
//方式二
if (window.frames.length != parent.frames.length) {
   alert('在iframe中');
}
//方式三
if (self != top) {
  alert('在iframe中');
}
登入後複製

2. 防止網頁被別站用iframe嵌套

將下面的代碼加到您的頁面 位置即可:

Js代碼

<script language="javascript">
<!--
if (top.location != location)
{
top.location.href = location.href;
}
//-->
</script>
//或
<script language="javascript">
if(self!=top){top.location.href=self.location.href;}
</script>
登入後複製

這個就能讓別人無法用iframe嵌套你網站的任何頁面,實現的效果是:輸入盜鏈你網站的那個地址後會自動跳到你的網站。

不可靠的原因:

當別人用如下類似程式碼做IFRAME嵌套呼叫時,就可能躲過你的頁面的javascript程式碼。

Js程式碼

<iframe src="你的页面地址" name="tv" marginwidth="0" marginheight="0" scrolling="No" noResize frameborder="0" id="tv" framespacing="0" width="580" height="550" VSPACE=-145 HSPACE=-385></iframe>
<script language="javascript">
var location="";
var navigate="";
frames[0].location.href="";
</script>
登入後複製

2.最可靠的方法:

為了徹底防止別人用IFRAME框架嵌套調用自己的網頁,如下方法是最可靠的.

這裡賦值為框架嵌套調用自己的網頁,如下方法是最可靠的.

這裡賦值為空頁,也可賦空值為你的頁面的URL地址.

Js代碼

<script language="javascript">
if(top != self){
 location.href = "about:blank";
}
</script>
登入後複製

還有一個完全屏蔽被iframe的方法就是添加:

Html代碼

header("X-Frame-Options: deny");
header("X-XSS-Protection: 0");
登入後複製

Html代碼

rrreee

🎜🎜🎜Html代碼🎜 -Frame-Options: http://localhost/××××.php does not permit framing.」的原因! 🎜🎜以上就是本文的全部內容,希望本文的內容對大家的學習或是工作能帶來一定的幫助,同時也希望多多支持PHP中文網! 🎜🎜更多js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套相關文章請關注PHP中文網! 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
頁面中iframe內元素點擊
來自於 1970-01-01 08:00:00
0
0
0
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
spring - JavaWeb中 Service 層的事務問題
來自於 1970-01-01 08:00:00
0
0
0
java - C語言演算法題-韓信點兵 解法?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板