2016-02-26 71 views
0

我知道的HTTP标头设置,以防止被打开一个IFRAME里的页面从另一个域,或完全在IFRAME否认了HTML页面,但有一个HTTP头设置,以防止浏览器页面被渲染直接(即在地址栏中输入url),但在IFRAME中可以。需要在IE/Chrome/FF等工作是否有一个HTTP头阻止页面被渲染到除了IFRAME之外的任何东西?

很显然,我可以通过JS代码完成页面渲染后,但我想这样做,或者在浏览器中触发,所以没有代码进入浏览器的调试器。

另外,有对传入的HTTP请求的东西,可以用吗?

+1

没有,X型框架不支持这一点。您无法在服务器上执行此操作,因为代理程序在请求中没有发送任何内容来指示它将呈现页面的位置。你需要在页面本身的代码来做到这一点。 –

回答

0

没有,没有什么。 X-FRAME-OPTIONS和CSP Frame-Ancestors无法强制页面被构建。

的JavaScript这里是你的朋友。如果您在页面开始处包含并运行JavaScript,则可以在呈现页面的其余部分之前检测它是否已成帧。

另外,也可以设置用于检查外框架,然后重定向初始页上一个会话变量,然后检查此页面上的会话变量。这将确保用户从第一页导航到那里,但如果他们继续在新标签或窗口中打开它,会话变量仍将被设置,所以您不能强制它们。此外,如果用户禁用了第三方Cookie,则这不起作用(尽管您可以在查询字符串中传递一个值,然后在服务器端进行检查)。

相关问题