有没有办法防止用户同时从不同的机器登录系统?
谢谢
发布于 2010-08-13 12:51:02
所有这些基于IP地址的解决方案的问题是,如果用户位于通过多个IP地址路由其请求的代理服务器之后,这可能会失败,这意味着用户无法保持登录状态。
相反,您可以做的是,当任何用户登录时,给他们一个新的会话令牌,并使属于同一用户的所有先前会话令牌过期。
这需要您保留一个表,其中包含所有有效的会话令牌以及它们与哪个用户相关联。请注意,PHP的内置会话处理在没有太多修改的情况下不太可能做到这一点。
发布于 2010-08-13 12:41:20
当用户登录时,将其IP地址放入数据库。如果其IP地址发生变化,则要求其重新登录。
更简单的方法是保存他们的SessionID。如果发生更改,则使旧会话无效。
发布于 2010-08-13 12:42:50
这是你无法阻止的。也不应该这么做。
相反,您必须手动注销所有以前登录过的用户。
只需在用户数据库中跟踪会话id,如果会话id不等于1,则关闭该会话,并在成功登录后将其存储在数据库中。
这将使所有同时登录的用户不断登录,并毁掉他们使用您的服务的所有努力。
https://stackoverflow.com/questions/3473921
复制相似问题