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