Tom*_*m S 6 iis iframe localhost x-frame-options
我有一个托管在外部服务器上的网站,我希望能够从本地开发环境 (localhost) 运行它(在 iframe 内)。不幸的是,当我尝试使用 iframe 加载页面时,我在框架内容中收到“此内容无法在框架中显示”消息。我该如何解决这个问题?
使用 iframe 的本地网站是经典的 asp,而托管在外部服务器上的网站是 MVC4。我仅在尝试 iframe MVC4 Web 应用程序时收到错误。当我尝试对与 MVC4 应用程序位于同一服务器(同一域)上的经典 asp 网站进行 iframe 时,我没有收到任何错误。
根据Mozilla Developer Network 的说法,任一元素都支持三个选项<frame>, <iframe> or <object>:
- X 帧选项:拒绝
- X 框架选项:SAMEORIGIN
编辑:根据 Dorner 的评论,不再支持以下选项,不应使用:
- X-Frame-Options:ALLOW-FROM https://example.com/
第一个和最后一个绝对不是你需要的。我尝试使用本地服务器访问另一个本地服务器:
X-Frame-Options: ALLOW-FROM http://localhost/
但我得到了回应:'allow-from http://localhost/' is not a recognized directive. The header will be ignored.
它有点有效,因为标题被忽略了,但您必须评估这是否适合您的网站。在这种情况下,要求您的服务器不发送此标头会更简单。但只有当您了解项目的后果时才可以这样做。
在IIS上,可以通过以下方式完成web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Frame-Options" />
</customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
对于Apache,请参阅此主题。
请记住,您的网络浏览器是否尊重 header 是由您的网络浏览器决定的。Mozilla 甚至指出:
仅当访问文档的用户使用支持 X-Frame-Options 的浏览器时,才会提供额外的安全性。
我相信 Edge 对这条规则比 Webkit 更严格。
| 归档时间: |
|
| 查看次数: |
23116 次 |
| 最近记录: |