技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

【輕易破解】使用JS防止網(wǎng)頁被Frame框架調(diào)用?

作者:admin    時間:2018-1-16 10:34:39    瀏覽:

當(dāng)我們想防止網(wǎng)頁被Frame框架調(diào)用時,使用JS實現(xiàn)是常見的方法,今天看到有文章提到這個方法可以輕易被破解,于是我親測了一下,結(jié)果。。。請看本文范例吧。

使用JS防止網(wǎng)頁被Frame框架調(diào)用的代碼

我們先看看防止網(wǎng)頁被Frame框架調(diào)用的JS代碼:

<script language="javascript">
if(window.self != window.top){
    window.top.location.replace(window.self.location);
}
</script>

原理是判斷 window.self 是否等于 window.top 。

范例代碼

example.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用iframe引用網(wǎng)頁</title>
</head>
<body>
<iframe src="js-no-iframe.html" style="width:600px;height:350px;"></iframe>
</body>
</html>

js-no-iframe.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用JS防止網(wǎng)頁被Frame框架調(diào)用</title>
<script language="JavaScript">
//網(wǎng)頁如果被iframe引用,用此頁強行代替父頁
if(window.self != window.top){
    window.top.location.replace(window.self.location);
}
</script>
</head>
<body>
這是被iframe引用的頁面
</body>
</html>

execcode getcode

破解方法

// 頂層窗口中放入代碼
var location = document.location;
// 或者 var location = "";

范例代碼

example2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>iframe引用網(wǎng)頁范例</title>
<script language="javascript">
  var location = document.location;
</script>
</head>
<body>
<iframe src="js-no-iframe.html" style="width:600px;height:350px;border:1px;"></iframe>
</body>
</html>

execcode getcode

從該范例看到,網(wǎng)頁并不能被成功引用,所謂的破解代碼并沒有效果。

使用X-Frame-Options防止網(wǎng)頁被Frame

上面提到用JS防止網(wǎng)頁被iframe嵌入,其實最好的方法是使用 X-Frame-Options 防止網(wǎng)頁被Frame,可參考我此前寫的文章《360安全提示“X-Frame-Options頭未設(shè)置”的解決方法(IIS)》、《web.config 設(shè)置 X-Frame-Options 的方法【親測有效】》。

標(biāo)簽: frame  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */