加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:47:33 所属栏目:百科 来源:网络整理
导读:我有X-Frame-Options http标头的问题. 我使用MVC 5,因此SAMEORIGIN选项会自动添加到Haders响应的Headers中. 我仍然想使用默认选项,我不想在Application_Start中使用以下行: AntiForgeryConfig.SuppressXFrameOptionsHeader = true; 我想在控制器级别的某些
我有X-Frame-Options http标头的问题.

我使用MVC 5,因此SAMEORIGIN选项会自动添加到Haders响应的Headers中.

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

AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

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

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

但是,它不起作用.

你知道我该怎么删除它?

任何帮助将不胜感激.

解决方法

在调查问题之后,我注意到可以创建一个ActionFilter来覆盖OnResultExecuted方法,在那里我可以删除那个http头:
public class AllowIframeFromUriAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        //...
        filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
        base.OnResultExecuted(filterContext);
    }
}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读