1

周一,我以为我已经通过将会话设置为用户 IP 解决了会话劫持安全问题,直到我登录。我有两个具有相同 IP 的用户(我自己和一个测试用户)并且它不断在两者之间切换。有没有办法防止这种情况并允许两个具有相同 IP 的用户在我的网站上注册?

在此先感谢,特里。

4

3 回答 3

1

您可能一直在阅读有关将用户的 IP与会话 ID(而不是代替)一起存储在表中的建议。然后,您将检查以确保它们在后续请求中来自相同的 IP,否则,强制它们再次登录。这种方法有问题,而且用户的 ip 可能每十分钟更改一次,具体取决于他们的 ISP!

使用 PHP 提供的会话 ID,因为它是唯一的且难以猜测。要求它从 cookie 中读取,而不是从 URL 中读取。

于 2012-03-22T19:17:29.390 回答
1

如果存在问题,则对整个站点进行 SSL 并应用一个短的 cookie 超时。ssl 将对 cookie 和传输进行加密,因此无法从网络中嗅出它。如果他们可以直接访问系统,那么在从“登录”计算机中取出 cookie 后,短暂的生存时间将很快使 cookie 失效。因此,简而言之,获得一个安全证书并正常进行正常的 php 会话。

于 2012-03-22T19:19:27.250 回答
0

我认为您正在使用他们的 IP 在 MySQL 数据库中查找用户的信息?那是错的。真正唯一的唯一方法是使用主键字段。

要么将主键存储为会话并提取其数据,要么将相关信息存储在会话中,仅在需要时提取其他任何内容。

于 2012-03-22T19:10:27.497 回答