使 ASP.NET cookie 安全

Posted

技术标签:

【中文标题】使 ASP.NET cookie 安全【英文标题】:Make ASP.NET cookie secure 【发布时间】:2016-06-07 14:22:44 【问题描述】:

我有一个在 SSL 上运行的应用程序,我已经在我的 web.config 中的 System.Web 下添加了以下内容。

<httpCookies requireSSL="true" httpOnlyCookies="true" lockItem="true" />

但我仍然得到一个名为“cookieSesssion1”的不安全 cookie。它没有被标记为安全。

请告诉我我可以将其标记为安全。

编辑: 除了 Web.config 指令之外,我的 Global.asax 文件中还有以下代码。

protected void Application_EndRequest(object sender, EventArgs e)

    if (Response.Cookies.Count > 0)
    
        foreach (string s in Response.Cookies.AllKeys)
        
            Response.Cookies[s].Secure = true;
        
    

以下是 Firebox 调试的屏幕截图:

我错过了什么,请帮忙

【问题讨论】:

也许this - This setting is overridden by any other feature that exposes the requireSSL configuration (for example: the forms Element for authentication (ASP.NET Settings Schema)). ? 这个 cookiesession1 是否与某些 Secure Token Service cookie 有关? 不,我在应用程序中使用普通会话,我什至没有引用这个 cookie 【参考方案1】:

FortiWeb Web 应用防火墙 (WAF) 会话 cookie 名为 cookiesession1

对于来自客户端的第一个 HTTP/HTTPS 请求,FortiWeb 会在响应的 HTTP 标头中的 Set-Cookie: 字段中嵌入一个 cookie。它被命名为 cookiesession1。 (FortiWeb 不会单独使用源 IP 地址和时间戳进行会话:NAT 可以隐藏多个客户端;可以更改时钟。)

http://help.fortinet.com/fweb/537/Content/FortiWeb/fortiweb-admin/http_sessions_security.htm

http://help.fortinet.com/fweb/536/Content/FortiWeb/fortiweb-admin/global_object_white_list.htm

【讨论】:

以上是关于使 ASP.NET cookie 安全的主要内容,如果未能解决你的问题,请参考以下文章

win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NE

Asp.Net - 如何使 Cookie 过期

ASP.NE网站发布注意事项

从服务器接收的 Cookie 是安全的,但发送到服务器的 Cookie 不安全 ASP.NET

ASP.NET 身份会话 cookie 的安全性如何?

如何使 ASP.NET Core 中的身份验证 cookie 无效?