【问题标题】:P3P Header Info in MVCMVC 中的 P3P 标头信息
【发布时间】:2012-12-08 04:27:51
【问题描述】:

我不确定我应该把它放在我的 Asp.net MVC 网站的哪个位置:

HttpContext.Current.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");

我把它放在:

public static void RegisterRoutes(RouteCollection routes)
{
  HttpContext.Current.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  routes.MapRoute(
      "Default", // Route name
      "{controller}/{action}/{id}", // URL with parameters
      new { controller = "Account", action = "Logon", id = UrlParameter.Optional }
  );

}

但我回来了

响应在此上下文中不可用。

有人知道我应该把这个放在哪里吗?

【问题讨论】:

    标签: c# asp.net-mvc razor http-headers


    【解决方案1】:

    您应该创建一个继承 ActionFilter 并覆盖 OnResultExecuting() 的类以添加该标头。

    然后,将其添加到全局过滤器集合中。

    【讨论】:

      【解决方案2】:

      你可以把它放在web.config中:

        <system.webServer>
          <httpProtocol>
            <customHeaders>
              <add name="P3P" value='CP="CAO PSA OUR"'/>
      

      这样你就不需要把它放在代码中了。

      有关value 含义的详细信息,请参阅this SO answer

      【讨论】:

      • 非常感谢。你把我从无意义的调试中解救了出来。
      • @vtortola:谢谢!这让我发疯了。很好的解决方案。
      • 2020 年任何现代浏览器都不支持 P3P 标头 (en.wikipedia.org/wiki/P3P)
      【解决方案3】:

      假设您希望在每个响应中都使用此标头,则应该这样做

      public class P3PHeaderAttribute : ActionFilterAttribute
      {
          public override void OnActionExecuted(ActionExecutedContext filterContext)
          {
              filterContext.HttpContext.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");
      
          }
      }
      

      然后将过滤器添加到全局集合中

          public static void RegisterGlobalFilters(GlobalFilterCollection filters)
          {
              filters.Add(new P3PHeaderAttribute());
          }
      

      【讨论】:

      • 这是我一直在寻找的,但我已经使用了 web.config 更改。我支持你,谢谢!
      猜你喜欢
      • 2011-04-08
      • 2011-12-28
      • 2012-11-07
      • 2015-02-18
      • 2012-12-07
      • 2011-12-20
      • 2013-11-02
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多