周一,我以为我已经通过将会话设置为用户 IP 解决了会话劫持安全问题,直到我登录。我有两个具有相同 IP 的用户(我自己和一个测试用户)并且它不断在两者之间切换。有没有办法防止这种情况并允许两个具有相同 IP 的用户在我的网站上注册?
在此先感谢,特里。
周一,我以为我已经通过将会话设置为用户 IP 解决了会话劫持安全问题,直到我登录。我有两个具有相同 IP 的用户(我自己和一个测试用户)并且它不断在两者之间切换。有没有办法防止这种情况并允许两个具有相同 IP 的用户在我的网站上注册?
在此先感谢,特里。
您可能一直在阅读有关将用户的 IP与会话 ID(而不是代替)一起存储在表中的建议。然后,您将检查以确保它们在后续请求中来自相同的 IP,否则,强制它们再次登录。这种方法有问题,而且用户的 ip 可能每十分钟更改一次,具体取决于他们的 ISP!
使用 PHP 提供的会话 ID,因为它是唯一的且难以猜测。要求它从 cookie 中读取,而不是从 URL 中读取。
如果存在问题,则对整个站点进行 SSL 并应用一个短的 cookie 超时。ssl 将对 cookie 和传输进行加密,因此无法从网络中嗅出它。如果他们可以直接访问系统,那么在从“登录”计算机中取出 cookie 后,短暂的生存时间将很快使 cookie 失效。因此,简而言之,获得一个安全证书并正常进行正常的 php 会话。
我认为您正在使用他们的 IP 在 MySQL 数据库中查找用户的信息?那是错的。真正唯一的唯一方法是使用主键字段。
要么将主键存储为会话并提取其数据,要么将相关信息存储在会话中,仅在需要时提取其他任何内容。