0

我设置了一个脚本来为用户登录时创建会话。

然后根据登录时的用户名和密码会话,从用户表中获取用户权限级别以及其他一些字段。

然后我将用户权限和用户 ID 设置为会话。

然后,我使用用户 ID 根据他们的 ID 从其他表中选择内容。

这安全吗?有人可以强制更改会话并以某种方式从另一个用户那里获取数据吗?还是可以将大量数据(除了密码)设置到会话变量中?

干杯,我希望这是有道理的..只是回顾一下:

我可以将登录用户的用户 ID 设置到会话 cookie 中吗?有没有办法让某人更改 cookie 并尝试通过猜测他们的用户 ID 来查看其他人的数据?

干杯约翰

4

1 回答 1

0

安全规则 1 - 不要实施您自己的身份验证和会话管理方案。尝试始终依赖您的平台/框架标准实现。

在您的场景中,会话 cookie 是不受信任的数据(即攻击者可以在返回服务器的途中对其进行修改)。如果您的会话 ID 很容易猜到(例如增量整数),那么更改此 ID 并成为您系统中的另一个用户(会话劫持)是微不足道的。

如果您必须使用自己的机制,请考虑以下事项: 1. 跟踪与您的会话关联的 IP 地址。如果您看到来自不同 IP 地址的请求,请考虑您想要做什么。2. 使用难以猜测的会话 ID/令牌。例如,不要使用整数 - 使用 guid。如果您必须将会话 ID 用作整数,则引入某种与此会话 ID 关联的 GUID,并将其与会话 ID 一起存储在服务器端和客户端的 cookie 中。这 2 个值应始终匹配 - 否则该请求不是真实的。

于 2012-06-10T09:34:38.063 回答