【发布时间】:2016-05-29 17:17:22
【问题描述】:
我正在尝试使用以下方法仅删除特定控制器操作的“X-Frame-Options”标头:
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
base.OnResultExecuting(filterContext);
}
但是,这似乎根本不起作用。我可以让它在我的网站上运行的唯一方法是将此代码添加到下面的 global.asax 中。我很确定我错过了 ASP.NET MVC / IIS 管道中允许我覆盖该标头的 IIS 设置的正确步骤。这可能吗?
protected void Application_EndRequest()
{
Response.Headers.Remove("X-Frame-Options");
}
至于我为什么要这样做,我正在构建一个小部件,用户将能够通过使用 iframe 在他们的个人网站上使用它,但允许他们将信息发回我们的网站。我意识到关闭此标头存在安全隐患,虽然我欢迎有关如何减轻这些风险的任何建议,但我只想知道我的要求是否可行。
【问题讨论】:
标签: iframe asp.net-mvc-5 x-frame-options