【问题标题】:After update to MVC 5, iframe no longer works更新到 MVC 5 后,iframe 不再工作
【发布时间】:2013-12-13 18:23:12
【问题描述】:

我将我的项目 MVC 版本更新为 5,现在 iFrame 无法加载,我收到此错误:

X-Frame-Options 拒绝加载:www.blahblah.com 不允许跨域框架。

我注意到由于某种原因,现在 X-Frame-Options 标头已填充 SAMEORIGIN,这不允许 iframe 从不同域加载页面。这对我来说是个问题,因为我同时开发了包含页面和继承页面。我尝试了 IIS 中的所有方法来更改此标头,但无济于事。

有人遇到过这个吗?

【问题讨论】:

标签: asp.net-mvc iframe asp.net-mvc-5


【解决方案1】:

假设您的 IFrame 内容由您的 MVC 应用程序提供...

您可能需要包含允许跨源请求的响应标头:

访问控制允许来源:*

【讨论】:

  • 我试过添加各种标题,无论我做什么,应用程序都会在 SAMEORIGIN 上拍打,如果浏览器检测到多个标题,它会出错并拍下 DENY。
【解决方案2】:

我终于找到了答案。从 MVC 5 开始,Microsoft 决定在其中默认设置 SAMEORIGIN。我发现关闭此标签的最佳方法是在 Global.asax.cs

中编写以下内容
protected void Application_Start()
{
//Bundles and stuff are here
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    相关资源
    最近更新 更多