【问题标题】:Allow others to iframe my site允许其他人 iframe 我的网站
【发布时间】:2015-02-03 08:49:18
【问题描述】:

如果其他人尝试 iframe 我的网站,他们会收到错误“拒绝在框架中显示,因为它将 'X-Frame-Options' 设置为 'SAMEORIGIN' ”。他们必须改变什么,还是我,或两者兼而有之? 我发现 X-Frame-Options 有一些选项:SAMEORIGIN,DENY,并且只允许一个站点。配置:IIS8,ASP.NET MVC。是否有任何全局设置允许其他人 iframe 我的网站?

【问题讨论】:

  • 使用建议的答案,有没有办法仅为特定视图启用 iframe?

标签: asp.net iis iframe web-config


【解决方案1】:

在您的golbal.asax.cs 中将X-Frame-Options 设置为AllowAll:

 protected void Application_PreSendRequestHeaders()
 {
    Response.Headers.Remove("X-Frame-Options");
    Response.AddHeader("X-Frame-Options", "AllowAll");
 }

【讨论】:

  • 嘿!谢谢!你救了我的一天!我正在为 Excel 开发 WebAdd-In,但 Microsoft 拒绝了,因为内容在 IFrame 和 Excel Online 中呈现,在 IE11 中运行,浏览器只是阻止了内容。有了这个,一切正常!非常感谢,上帝! :D
【解决方案2】:

由于您的网站是框架目标,因此您将对您的网站进行所有更改。正如您将在下面看到的,这非常简单。

选项 1 - 修改 Web 应用程序的 web.config 文件 移除 X-Frame-Options 自定义标头

之前:

<system.webServer>
...
<httpProtocol>
  <customHeaders>
    <add name="X-Frame-Options" value="AllowAll" />
  </customHeaders>
 </httpProtocol>
...
</system.webServer>

之后

<system.webServer>
...
<httpProtocol>
  <customHeaders/>
 </httpProtocol>
...
</system.webServer>

选项 2 - 登录 Web 服务器并访问 IIS 管理器

  1. 打开 Internet 信息服务 (IIS) 管理器。
  2. 在左侧的“连接”窗格中,展开“站点”文件夹 并选择您要保护的网站。
  3. 双击功能列表中的 HTTP 响应标头图标 中间。
  4. 从列表中选择 X-Frame-Options
  5. 在右侧的“操作”窗格中,单击“删除”。
  6. 单击“确定”保存更改。

【讨论】:

    猜你喜欢
    • 2021-07-08
    • 2021-04-01
    • 2018-04-05
    • 1970-01-01
    • 2011-02-27
    • 2021-05-03
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多