c# - 如何从响应中删除 X-Frame-Options

标签 c# asp.net-mvc http-headers x-frame-options

我对 X-Frame-Options http header 有疑问。

我使用 MVC 5,因此 SAMEORIGIN 选项会自动添加到 Http 响应的 header 中。

我仍然想使用默认选项,我不想在 Application_Start 中使用以下行:

AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

我想在 Controller 级别的某些特定操作中删除 X-Frame-Options header ,代码如下:

base.HttpContext.Response.Headers.Remove("X-Frame-Options");

但是,它不起作用。

你知道我怎样才能删除它吗?

我们将不胜感激。

最佳答案

调查问题后,我注意到可以创建一个覆盖 OnResultExecuted 方法的 ActionFilter,我可以在其中删除该 http header :

public class AllowIframeFromUriAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        //...
        filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
        base.OnResultExecuted(filterContext);
    }
}

它有效,所以我想分享解决方案。

关于c# - 如何从响应中删除 X-Frame-Options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436588/

相关文章:

c# - 为什么 Request Header 上的 ContentType 属性为 Null?

c# nhibernate id 是否在删除时自动重置?

c# - 将 IQueryable 类型转换为 Linq to Entities 中的接口(interface)

c# - 从使用C#中的错误代码页中恢复

asp.net-mvc - asp.net mvc没有收到带有句点的GET请求

c# - 在 asp.net 中以编程方式设置 "expires"http header 的值

ajax - 相同域请求的来源和主机 header

c# - 将 Visual Studio 调试器与在 Kubernetes 中运行的 ASP.NET Core Web 应用程序一起使用?

javascript - 从 JsonResult 返回字符串数组并在 JavaScript 中使用它

c# - 如何在asp.net core中从客户端调用web api方法?