会话如何运作?

时间:2012-06-10 08:31:43

标签: security session-cookies

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

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

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

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

这样安全吗?有人可以强制进行会话更改并以某种方式从其他用户获取数据吗?或者可以将大量数据(除了密码)设置为会话变量?

干杯,我希望它有意义......回顾一下:

我可以将登录用户的用户ID设置为会话cookie,是否有人可以通过猜测用户ID来更改cookie并尝试查看其他数据?

干杯 约翰

1 个答案:

答案 0 :(得分:0)

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

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

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