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