【问题标题】:ASP.Net MVC5 set secure and HTTPOnly flagsASP.Net MVC5 设置安全和 HTTPOnly 标志
【发布时间】:2015-06-14 13:23:21
【问题描述】:

我需要为我网站的所有 cookie 设置 httponlysecure 标志,以通过客户的安全扫描。 我认为 web.config 配置正确

<system.web>
   <httpCookies httpOnlyCookies="true" requireSSL="true" lockItem="true" />

它适用于我在应用程序中创建的所有 cookie,但不适用于 google analitycs 的(我知道我对此无能为力)以及我认为 asp.net 的会话 cookie(ai_userai_session)。

搜索这两个 cookie 一无所获。 如何强制使用 httponlysecure 标志?

不知道有没有关系,不过我也有这个重写规则

<rewrite>      
  <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
  </rules>
</rewrite>

我尝试禁用它,但没有任何改变

【问题讨论】:

  • 看看this的文章希望它能给你一些想法
  • 我试了代码,但是两个cookie没有出现在列表中。

标签: asp.net asp.net-mvc security cookies asp.net-mvc-5


【解决方案1】:

要求 SSL 的正确方法是通过全局过滤器

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
     filters.Add(new HandleErrorAttribute());
     filters.Add(new System.Web.Mvc.AuthorizeAttribute());
     filters.Add(new System.Web.Mvc.RequireHttpsAttribute());
}

【讨论】:

  • 我也尝试过 RequireHttpsAttribute 但没有运气
【解决方案2】:

我现在在我的项目中偶然发现了“ai_session”和“ai_user”cookie,我认为它们来自应用程序洞察。如果您进一步调查,请向社区报告。

【讨论】:

  • 我也发现了这一点,但直到现在才理解如何放置 httponly 属性
  • 我猜它是由微软提供的 javascript 设置的
猜你喜欢
  • 2012-10-13
  • 2022-01-07
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 2013-02-14
  • 2016-04-02
  • 2016-10-23
相关资源
最近更新 更多