2009-05-04 709 views
4

我已經使用了一段時間的自定義函數來防止某些網站上的點擊劫持。然而,我很驚訝地發現,如何使用各種流行的JavaScript框架「慣用」這樣做並沒有太多。你如何使用JavaScript框架來防止點擊劫持?

是否有jQuery,Dojo,YUI和/或ExtJS的用戶使用他們的框架來實現點擊劫持保護?我很想看到例子!

回答

1

爲什麼要使用庫?你可以這樣做:

var all = document.getElementsByTagName('iframe'), l = all.length; 
while (l--) all[l].parentNode.removeChild(all[l]); 

但是,如果你真的覺得你需要一個圖書館。在jQuery中,這很容易,只需找到所有iframe並將其刪除即可。

$(document).ready(function() { $('iframe').remove(); }); 
+0

我明白,你並不需要一個庫 - 但在情況下,圖書館可能已經在使用,我想知道常見的「習慣用語」會是什麼。 jquery的例子很棒,謝謝。 – TML 2009-05-05 03:12:11

2

它並不那麼簡單。 頂部框架可能會阻止頁面被卸載。 我會用下面的代碼來解決它:

if (window.top !== window.self) { 
    window.top.location.replace(window.self.location.href); 
    alert('For security reasons, frames are not allowed.'); 
    setInterval(function(){document.body.innerHTML='';},1); 
} 

它使用警報()給瀏覽器的時間來加載了新的一頁。 如果一切都失敗,它不會留下可點擊的元素。

查看完整的問題描述:frame-buster-buster-buster-code-needed

+1

請參閱:http://stackoverflow.com/questions/958997 – Chris 2010-02-19 13:06:51