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