1

我很感激这个问题永远不会有一个完美的答案,但我想知道你能走多远,使用 PHP+MySQL 自动标记/识别在你的网站上拥有两个帐户的个人。

例如,在这个网站上,他们可以使用一个帐户来“提升”其他帐户的声誉——这将是一个诺诺。

目前,我有一个 IP 字段,每次登录时都会使用他们的远程服务器 IP 进行更新,这远非完美。有没有更好的解决方案(除了详细的日志和比较用户操作之间的趋势)可以让您快速“提示”一下,暗示这可能是通过更准确的 IP 比较或其他方式进行的?

显然,如果用户真的想这样做,他们会找到一种方法 - 但我想找到一个合理的解决方案,使他们(至少)适度困难或沮丧地完成它。

非常感谢

4

2 回答 2

0

IP地址禁止方法很容易绕过,至少作为唯一的安全方法。添加它不会比实现它所花费的时间更有害,并且该方法肯定会有所帮助,但请确保您对其进行补充。

由于您有某种帐户,我建议您更多地查看用户部分。一个帐户的典型行为是什么,仅用于提升另一个帐户。对于这些操作中的每一个,记录两个用户,如果您看到以下模式,请发送警告或禁止。

如果这是一场游戏,或者有人可能出于某种原因想要禁止另一个人。确保也从该接收器中找到这些典型操作(或在 IP 地址中查找连接以确认)。这可以防止可能导致错误禁令的“助推”攻击。

在不知道系统应该如何工作以及您在其中拥有什么价值的情况下,很难给出提示,但我希望它能给您一些新的想法。

于 2013-08-01T12:03:37.820 回答
0

有缺点的解决方案..

在我看来,我认为没有一种有效的方法来阻止用户创建多个帐户。

正如您所指出的,您可以在 PHP 中存储 IP、名称机器、session_id() 并进行一些分析控制,但这可能会给您带来误报。共享相同IP,相同机器的用户..

一个可能的解决方案是让事情变得困难。使用某种用户验证,例如验证电话、验证邮件、回答长注册表单。最终,这可能会让攻击者三思而后行,以创建多个帐户进行额外工作的成本。

缺点是真正的用户必须这样做,也许他们不会通过这种验证访问您的网站。

很难在这两者之间做出选择。

另一种可能的解决方案是通过第三方应用程序进行注册,例如 Facebook、Google 帐户。过滤多个帐户变得容易,并且是登录真实用户的简便方法。

最后,对我来说,控制社区的最有效方法之一是建立一个像 stackoverflow 这样的成就/声誉系统。如果他们不花时间为社区工作/为社区工作,它允许您控制新用户不会干扰系统。在我看来,这是一个真正强大的社区管理解决方案。

于 2013-08-01T11:19:11.957 回答