如何在页面加载期间发现我的页面作为框架嵌入到其他站点?我想引荐来源请求标头在这里帮不上忙吗?谢谢。
3 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
您不能从服务器端检查它,但是可以在页面加载后使用javascript进行检测。比较top和self,如果它们不相同,则表示您处于框架中。
此外,某些现代浏览器会使用X-FRAME-OPTIONS标头,该标头可以具有两个值:
DENY –如果页面包含在框架中,则阻止呈现页面
SAMEORIGIN –与上面相同,除非页面与顶级框架集所有者属于同一域。
用户包括无法嵌入框架的Google Picasa。
支持标头(最低版本)的浏览器:
IE8和IE9
歌剧10.50
Safari 4
铬4.1.249.1042
Firefox 3.6.9(带有NoScript的旧版本)
胡说叔叔
TA贡献1804条经验 获得超8个赞
Stackoverflow包含一些JS来对其进行测试(master.js)。这是其中的相关部分:
if(top!=self){
top.location.replace(document.location);
alert("For security reasons, framing is not allowed; click OK to remove the frames.")
}
但是请记住,可以禁用JS。
添加回答
举报
0/150
提交
取消