Php 阻止用户与多个IP共享帐户';s
有谁能告诉我如何将一个用户在一个会员区可以拥有的唯一IP数量限制在5-6个左右。在我帮助管理的网站上,似乎有很多用户与数十到数百人共享他们的用户名。或者有人能解释一下我如何针对这种情况实施某种安全措施吗?IP阻塞不是解决办法 考虑同一公司防火墙内的一群用户。当他们浏览网络时,由于代理服务器的原因,所有人似乎都有相同的IP地址。代理服务器负责确保将请求/响应发送给正确的人 所以,这是行不通的 你可以做的是将登录绑定到会话,并取消以前的会话。基本上:Php 阻止用户与多个IP共享帐户';s,php,security,authentication,Php,Security,Authentication,有谁能告诉我如何将一个用户在一个会员区可以拥有的唯一IP数量限制在5-6个左右。在我帮助管理的网站上,似乎有很多用户与数十到数百人共享他们的用户名。或者有人能解释一下我如何针对这种情况实施某种安全措施吗?IP阻塞不是解决办法 考虑同一公司防火墙内的一群用户。当他们浏览网络时,由于代理服务器的原因,所有人似乎都有相同的IP地址。代理服务器负责确保将请求/响应发送给正确的人 所以,这是行不通的 你可以做的是将登录绑定到会话,并取消以前的会话。基本上: 登录请求进入 服务器为该请求分配会话id,将其本
有趣的是,这与一些公司(如GoToMeeting)的工作原理类似。如果用户帐户当前正在主持会议,然后该帐户登录到其他地方,则原始会议将终止。非常有效。我要做的是创建一个数据库表,其中存储了用户ID、使用的IP地址和看到IP的日期。大概是这样的:
Table IP
Id UserId IP Date
-------------------------------
0 42 192.168.1.3 2-21-12:01:32:00
然后在php中计算当前用户拥有多少IP。如果超过5,则阻止用户
尽管如此,在阅读刚刚发布的一些答案后,我还是同意克里斯·莱弗利的回答,因为这是一个更好的解决方案。人类问题没有技术解决方案。人工智能无法与人类的愚蠢相提并论。最后一个内容,如果省略了Saracsm,应该是这样的:你无法区分5个人,每个人的IP地址与1个人的IP地址不同,但是与5个IP地址不同。在智能手机时代,每天20个不同的IP并不少见。你需要实现你真正想要的行为,这与多个IP无关。要扩展@DavidSchwartz的评论,你需要确定人们共享帐户的原因,并为此制定解决方案。像限制IP这样的被动预防措施因没有按您希望的方式工作而享有良好声誉。这正是我要建议的。您必须将会话ID绑定到他们的登录帐户。为了避免每次都要检查数据库,您只需在有人登录时检查上次登录的会话文件是否仍然存在,如果仍然存在,则将其删除(假设您仅将会话用于基本内容,并且删除以强制重新登录是安全的)。此想法可以进一步扩展,以允许同时进行多个会话。如果您维护一个单独的与帐户ID相关的会话ID表,您可以检查强加的限制。如果有这么多会话处于活动状态,请删除最旧的会话,以便为最新的会话让路。为了增加乐趣,删除一个随机的,而不是最旧的。这会让用户保持警觉,不知道下一个谁会被踢。