如何从响应中删除x帧选项

本文关键字:选项 删除 响应 | 更新日期: 2023-09-27 18:11:27

我有一个X-Frame-Options http header的问题。

我使用MVC 5,所以SAMEORIGIN选项被自动添加到Http响应的Headers中。

我仍然想使用默认选项,我不想在Application_Start:

中使用下面的行
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

我想在控制器级别的某些特定动作中删除X-Frame-Options头,代码如下:

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

但是,它不工作。

你知道我怎样才能去掉它吗?

如何从响应中删除x帧选项

调查问题后,我注意到有可能创建一个ActionFilter覆盖onresultperformed方法,在那里我可以删除http头:

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

它可以工作,所以我想分享解决方案