如何避免在iFrame中加载我的网站

时间:2014-03-17 08:15:51

标签: jquery security iframe frame

为避免XRS,我会在主窗口或框架或iframe中检查我的网站加载位置。 是否可以在服务器端检查请求的位置,即浏览器地址行或frame或iframe的src属性。 如果在服务器端无法实现,那么jQuery怎么可能? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

使用帧杀手。

CSS:

<style>
html{display:none;}
</style>

使用Javascript:

<script>
function frameKiller() {
    if (self == top) {
        document.documentElement.style.display = 'block';
    } else {
        top.location = self.location;
    }
}
</script>

然后在您要保护的页面上调用framekiller功能

Jquery的:

$(function () {
    frameKiller();
});

完整示例:

<!DOCTYPE html>
<head>
<title>Page Title</title>

<style>
html{display:none;}
</style>

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

</head>

<body>

Page Content

<script>
function frameKiller() {
    if (self == top) {
        document.documentElement.style.display = 'block';
    } else {
        top.location = self.location;
    }
}

$(function () {
    frameKiller();
});
</script>

</body>

</html>

要进行测试,请尝试将此页面加载到来自其他域的iframe中。