【发布时间】:2014-04-22 08:52:51
【问题描述】:
为了避免 XRS,我会检查我的网站加载位置,在主窗口或框架或 iframe 中。 是否可以在服务器端检查来自哪里的请求,即浏览器地址行或框架或 iframe 的 src 属性。 如果在服务器端不可能,那么 jQuery 怎么可能? 感谢您的帮助。
【问题讨论】:
标签: jquery security iframe frame
为了避免 XRS,我会检查我的网站加载位置,在主窗口或框架或 iframe 中。 是否可以在服务器端检查来自哪里的请求,即浏览器地址行或框架或 iframe 的 src 属性。 如果在服务器端不可能,那么 jQuery 怎么可能? 感谢您的帮助。
【问题讨论】:
标签: jquery security iframe frame
使用框架杀手。
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。
【讨论】: