如何使用JavaScript框架来阻止Clickjacking?

时间:2009-05-04 18:51:21

标签: javascript security

我一直在使用自定义功能一段时间以防止在某些网站上进行点击劫持。但是,我很惊讶地发现,如何使用各种流行的JavaScript框架来“惯用”这一点并不是很多。

是否有jQuery,Dojo,YUI和/或ExtJS的用户使用他们的框架来实现点击劫持保护?我很乐意看到例子!

2 个答案:

答案 0 :(得分: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);
}

它使用alert()为浏览器提供加载新页面的时间。 如果一切都失败,它就不会留下任何可点击的元素。

请参阅完整的问题说明:frame-buster-buster-buster-code-needed

答案 1 :(得分:1)

为什么要使用图书馆?你可以这么做:

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

但如果你真的觉得你需要一个图书馆。在jquery中,这非常简单,只需查找所有iframe并将其删除即可。

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