首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何抑制X-Frame-Options SAMEORIGIN响应头?

如何抑制X-Frame-Options SAMEORIGIN响应头?
EN

Stack Overflow用户
提问于 2019-06-04 05:13:08
回答 1查看 1.1K关注 0票数 0

我正在尝试删除X-Frame-Options SAMEORIGIN标头或将其设置为ALLOWALL

我已经在我的web.config中设置了它,并且在站点的IIS响应头中也设置了它,但是我仍然在我的浏览器中获得X-Frame-Options SAMEORIGIN,并且iframe内容不呈现。

代码语言:javascript
运行
复制
<httpProtocol>
  <customHeaders>
    <remove name="X-Powered-By" />
    <add name="Cache-Control" value="public" />
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="X-Frame-Options" value="ALLOWALL" />
  </customHeaders>
</httpProtocol>

火狐和Chrome也是如此。

有没有其他地方我应该寻找它或可以修改它?

EN

回答 1

Stack Overflow用户

发布于 2019-12-10 18:50:55

转到Global.asax.cs中的Application_Start()并添加以下行

代码语言:javascript
运行
复制
System.Web.Helpers.AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

但请注意,这意味着任何人都可以在iframe中使用您的应用程序。因此,使用下面的代码添加一个新文件是值得的:

代码语言:javascript
运行
复制
using System.Web.Mvc;

namespace MyApplication
{
    public class NoIframeAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.HttpContext.Response.Headers.Set("X-Frame-Options", "SAMEORIGIN");
        }
    }
}

将以下行添加到FilterConfig.cs中的RegisterGlobalFilters方法:

代码语言:javascript
运行
复制
filters.Add(new NoIframeAttribute());

现在它已经安全地返回到您的应用程序中,您可以使用以下命令删除应用程序中需要的任何位置的remove选项

代码语言:javascript
运行
复制
Response.Headers.Remove("X-Frame-Options");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56434599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档