当 requireSSL 为 true 时,asp.net_sessionid 是不是应该出现在 http 请求中

Posted

技术标签:

【中文标题】当 requireSSL 为 true 时,asp.net_sessionid 是不是应该出现在 http 请求中【英文标题】:Should asp.net_sessionid appear on http request when requireSSL is true当 requireSSL 为 true 时,asp.net_sessionid 是否应该出现在 http 请求中 【发布时间】:2011-11-30 17:45:29 【问题描述】:

下午的人们,

我想知道是否有人可以就我遇到的这个问题给我一个提示。我对我应该看到的东西并不乐观,我认为这是我遇到的主要问题。

我已更改 web.config 以使用以下内容:

<httpCookies requireSSL="true" />

对于我通过 http(而不是 https)发出请求时定义的一般 cookie 来说,一切正常,因为它们没有出现,但是 asp.net_sessionid cookie ( ASP.NET_SessionId=epg3ebjv1hheqe45kgp0j055) 仍然出现。这是正确的行为,不应该丢失吗?

更新:

在通过互联网进行更多搜索时,我发现这仅适用于表单 cookie。它不适用于会话 cookie。病了!但是,以下链接建议对其进行修复:How to secure the ASP.NET_SessionId cookie?

不幸的是,这并没有解决我的问题,cookie 仍然出现在请求中。

【问题讨论】:

如果您只想要 https 流量,您可以停止端口 80 上的流量。这将确保只有 https 请求通过。阅读这篇文章,isecpartners.com/files/web-session-management.pdf 我也去看看那个编码器,干杯! 【参考方案1】:

cookie 将始终出现。如果它是安全的,则内容将被加密(如果您使用 SSL,它将以加密方式传输。

该会话 ID 必须以某种方式发送。如果您不想将其存储为 cookie,则可能需要查看无 cookie 会话。在这种情况下,会话将成为 URL 构造的一部分。

也许尝试设置一个自定义 cookie 名称并使用您找到的解决方法?

【讨论】:

干杯布伦特,谢谢。是的,有一位客户抱怨它总是被发送。我认为这可能只是客户没有意识到它总是如此的情况。我将使用我发现好的解决方法,然后从那里开始。再次感谢。

以上是关于当 requireSSL 为 true 时,asp.net_sessionid 是不是应该出现在 http 请求中的主要内容,如果未能解决你的问题,请参考以下文章

当在 catch 块中将 Visible 设置为 true 时,不显示 Asp:Label

Web.config中的设置 forms 中的slidingExpiration的设置

Web窗体登录超时

(转载)提高ASP.NET Web应用性能的技巧

ASP.NET @Html.DropDownListFor() 选择的值设置为 true 但提交给控制器时返回 false

Asp:Label 在 vi​​sible 设置为 true 时不显示?