有没有办法检测我的页面是否在我的C#ASP.NET代码背后的框架内?
我知道有很多方法可以使用javascript打破帧或检测帧,但我对此情况并不感兴趣。我想知道在页面首次访问浏览器之前是否有办法检测帧服务器端,即如果请求中有某种指示。
答案 0 :(得分:4)
不,请求标题中没有任何内容发送,表明页面在一个框架中 - 这就是你真正需要继续的。
您可以做的最好的事情是查看Referrer属性,如果它来自已知的框架网站(例如images.google.com等),则将其视为可疑。
答案 1 :(得分:4)
这个答案有点晚了,但我在这里......
如果你想在服务器端知道,你可以做的最好的事情是使用JavaScript来重定向你的页面,如果它在一个框架内。例如,使用此JavaScript重定向:
<script type="text/javascript">
if(top.location.href!= window.location.href){
window.parent.location.href = "http://127.0.0.1/frame.aspx?frame=yes";
}
</script>
然后在frame.aspx中你会知道上一页是在一个框架中。如果需要,可以向查询字符串添加更多信息。