首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阻止用户与多个IP共享账号?

阻止用户与多个IP共享账号?
EN

Stack Overflow用户
提问于 2012-02-22 08:08:34
回答 2查看 286关注 0票数 3

有没有人可以在指南/教程的方式中指出如何限制一个用户可以有大约5-6个会员区域的唯一IP的数量。在我帮助管理的一个网站上,似乎有许多用户与数十到数百个其他人分享他们的用户名。或者有没有人能解释一下我如何实现某种安全性来防止这种情况呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 08:18:06

IP阻塞不是解决问题的办法。

考虑同一公司防火墙内的一群用户。当他们浏览网络时,由于代理服务器的原因,所有这些服务器看起来都具有相同的IP地址。代理服务器负责确保请求/响应到达正确的人。

所以,这是行不通的。

您可以做的是将登录绑定到会话并踢出之前的会话。本质上:

  1. 登录请求进入。
  2. 服务器为该请求分配会话id,将其本地存储在该用户表中,并将其发送回cookie中。
  3. 对于每个后续请求,都会验证会话id,以查看它是否仍与用户相关联。如果没有,请将它们踢到登录页面。

用户Bob将登录并获得会话ID 10。Bob开始浏览您的站点,一切都是A-OK。

然后Sue登录(使用Bob的凭据)。这会将会话ID 22分配给bob帐户。她开始浏览这个网站。

Bob发出的下一个请求是get的重新验证..并且服务器看到会话10不再与Bob相关联。轰隆一声:跳到登录屏幕。

鲍勃一边挠着头,一边重新登录。这将分配一个新的ID: 30。来自Sue的下一个请求将她踢到登录页面。随之而来的是搞笑。

为了好玩,如果在一段时间内(如2分钟)将几个会话ids分配给同一个帐户,则向文件中的电子邮件地址发送一条消息,表明他们的帐户可能已被黑客攻击。甚至可能关闭帐户,同时要求他们通过单击电子邮件中的链接来重新确认帐户是好的。让他们马上修改密码。

有两件事要发生。首先,许多用户会抱怨(有些人并不感到羞耻)..一定要有一个好的,但坚定的回应,关于你是如何通过这个奇特的新安全功能来保护他们的。不要在这件事上让步。

第二件事是,所有这些匿名用户都将获得自己的帐户(或离开)。原因是,仅仅因为他们共享密码而被踢出网站并不是一件好事。如果我没理解错的话,这就是我想要的行为。

有趣的是,这是一个类似于一些公司的设计,比如GoToMeeting。如果用户帐户当前正在主持会议,然后该帐户登录到其他地方,则原始会议将终止。非常有效。

票数 5
EN

Stack Overflow用户

发布于 2012-02-22 08:20:38

我要做的是创建一个数据库表,其中存储userId、使用的IP地址和看到IP的日期。如下所示:

代码语言:javascript
运行
复制
Table IP

Id    UserId    IP       Date
-------------------------------
0    42       192.168.1.3   2-21-12:01:32:00

然后在你的php中计算一下这个用户当天有多少个in。如果大于5,则阻止该用户。

不过,读了刚刚发布的一些答案,我会同意克里斯·莱弗利的回答,因为这是一个更好的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9387302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档