1

只是想知道,由于会话 ID 存储在 cookie 客户端中,我可以轻松地修改该 cookie 并将会话 ID 值更改为另一个用户会话 ID 的值。允许第一个用户从第二个用户获取数据。如果 session 用于存储“登录会话”,则用户可以像其他用户一样登录,那么会话是否容易“破解”?我自己尝试过,我可以轻松地与另一个用户会话导航,也许这只是因为两个会话都来自同一个 ip 和计算机,但是 ASP MVC 引擎是否提供任何安全检查来避免这种情况?

4

1 回答 1

1

您不应该使用 session 来存储“登录会话”。.ASPXAUTH cookie 用于存储经过身份验证的用户信息,并且此 cookie 使用您设置或由 IIS 自动生成的机器密钥进行加密。

如果您担心会话劫持(取决于您的应用程序,您应该这样做),那么您应该结合使用身份验证 cookie (userId) 和会话中的信息来确保值确实匹配。

会话和身份验证这两个概念通常会混淆和混淆,但它们不应该如此。一个向应用程序识别用户并确认用户实际上已经过身份验证(Forms Auth Ticket/Cookie),另一个只是在 Web 请求之间存储数据。

以下是有关 .NET的Forms Authentication Ticket 和 Cookie的更多信息

此外,请参阅与您的问题有些相关的问答- 它可能会提供更多关于事情如何运作的见解并帮助您实现所需的目标。

于 2013-05-08T23:18:51.287 回答