会话cookie安全到足以存储用户ID?

b0x*_*0rz 7 c# security session

我正在使用会话cookie(不是永久cookie)来保存用户ID以了解用户是否已登录.

基本上,用户登录,我们检查凭据,然后设置会话cookie userID = 37(对于这个特定用户,另一个用户将有73或69等...)

Session.Add("UserID", 37);
Run Code Online (Sandbox Code Playgroud)

我的问题是,登录用户是否有可能以某种方式将此会话cookie从37更改为73,从而欺骗服务器以为他实际上是用户73?如果是,那么我做错了什么,如何处理这个案子?放入会话用户ID和密码哈希并每次检查它们似乎很疯狂?

我们稍后在查询中使用此userid值来限制它们.

如果这不是一个确切的代码问题,我很抱歉,但它与我的代码非常相关.

Dar*_*rov 6

会话cookie仅包含会话ID.它用于识别用户.它只包含其他内容.此会话的实际信息存储在服务器上.所以这是安全的.用户永远不能更改已存储在服务器上的值.如果您将其存储在会话中,则用户无法更改其ID.

这就是说,在处理用户ID时,您可以考虑使用表单身份验证来跟踪经过身份验证的用户,而不是使用Session重新创建轮子.