限制一段时间内的用户帐户注册数量?

时间:2009-06-03 17:26:54

标签: asp.net-mvc security validation

我有一个网络应用,要求用户拥有一个帐户。然后,该用户可以对特定项目“一次”投票。但是,有些用户正在注册大量帐户以“游戏”系统。

有没有人有任何关于如何限制此类事情的想法?

我可以限制每个IP地址每天的注册次数吗? (这有什么问题?)

还有其他建议???

7 个答案:

答案 0 :(得分:2)

通过将注册限制为每个用户只需一个IP地址,您就可以做得更好。如果你打算让所有生活在同一屋檐下的家庭拥有自己的账户,这可能不是很好,但在大多数情况下,这是切实可行的。

答案 1 :(得分:2)

是的,限制每个IP的注册是合理的。我可能会在每个滚动时间段内进行注册(例如,每个IP在任何一小时内最多一个新帐户)。您还可以标记可疑的注册(例如,每个IP每天超过五次),以便以后进行后续跟踪。

您可能也会限制用户投票,直到他们通过了一些障碍,类似于SO的声誉系统。防止投票投票,直到他们成为用户一周,发布至少两次,有一个朋友请求等。

答案 2 :(得分:1)

我记得当我运行在线角色扮演游戏时,当我在同一天使用相同的IP登录的帐户超过5个时,我就会举报。

答案 3 :(得分:1)

人们提到NAT问题。读取标头x-forwarded-for并将其与标准IP地址进行比较。

如果存在x-forwarded-for,请使用此值。大多数配置正确的NAT路由器将填充此字段。唯一没有的通常是匿名代理。

如果你真的担心人们游戏系统,使用一个使用套接字连接的闪存位,并为套接字监听器提供说话,会话ID。然后,您可以将其与IP地址和x-forwarding进行比较。如果它不匹配,则它们位于匿名代理之后。不允许他们创建帐户可能会感到安全。

这是有效的,因为大多数匿名代理都没有完整的Socks代理,其中所有网络流量都通过它,只有HTTP。这对我来说非常有效,因为我们在投票比赛中有人使用匿名代理来对系统进行游戏。

答案 4 :(得分:1)

您可以通过电子邮件地址设置限制,而不是按帐户限制。如果用户需要提供他们的电子邮件地址,那么您已经为他们创造了一个障碍。确保他们必须回复确认电子邮件,以确保电子邮件地址是真实的。还要跟踪电子邮件地址和IP地址,将任何计数标记为单个IP地址所具有的可疑信息。 5个或更多电子邮件地址。 (在这种情况下,您可以检查这些地址以查看它们是否以某种方式相关,例如来自相同域或类似名称的所有地址。) 当然,人们可以使用GMail或Hotmail创建数十个电子邮件地址,即使他们拥有自己的私有域。但对很多人来说,这已经有点太多了。基本上,如果您看到来自gmail.com的5个电子邮件地址具有相同的IP地址,则可疑。

答案 5 :(得分:0)

一个潜在的问题是,如果您的用户位于NAT后面,例如家庭路由器,ISP代理或公司防火墙。您将看到所有这些IP相同的IP。

我不会阻止别人,而只是记录他们的IP,创建一份重复IP报告,您可以定期运行这些报告以调查可疑活动。

此外,您可以采取社交方法,在某处发布用户的IP。这将为假冒账户的人提供温和的警告和抑制,并允许您的用户社区潜在地识别骗子。

答案 6 :(得分:0)

我建议实施不同的身份验证机制,例如OpenID,或者Alex说,强制用户指定有效的电子邮件,并在创建帐户之前通过电子邮件向他们发送确认链接。

我的偏好肯定是OpenID。