阻止单个人创建多个帐户的最佳方法

时间:2010-11-27 17:39:45

标签: php mysql login registration login-control

我正在创建一个游戏,我想限制每人一个帐户。我有很多想要玩的家庭,我想不出办法解决欺骗家庭的问题。

我目前计划这样做的方式是检查Cookie和会话,看看是否有任何设置在该计算机上,如果他们是,我知道有人已经从该帐户播放。我将检查他们的IP与我存储在我的数据库中的IP(我存储每个帐户的注册IP以及他们登录的最后一个IP)。如果他们不符合我的任何一项,请查看他们已注册的电子邮件,并检查以确保该电子邮件尚未使用。

我的问题是,虽然这可能会阻止作弊者,但也会阻止拥有一台电脑的家庭。

有没有人有任何建议或经验你做过什么?

提前致谢,

杰夫

4 个答案:

答案 0 :(得分:14)

老实说,我的建议是不要担心。以这种类型的行为不会完全破坏系统的方式构建应用程序。

我有一款iPhone游戏可能会遇到多个帐户问题。最后,我不得不意识到人们会按照他们想要的方式使用软件。如果你想破解CS4,你会。而不是专注于限制这种类型的行为,设计应用程序,使其无关紧要。

祝你好运!

答案 1 :(得分:3)

一些想法

无法保证IP地址对应一个人。从一个IP地址可以看到整个村庄。此外,通常的互联网连接具有可随时更改的动态IP地址。

结论:按IP地址区分用户是没用的。

您可以尝试通过检查可疑活动来过滤多帐户玩家,但这可能也没有太大帮助,因为很难区分刚从真正的骗子一起玩的朋友。

总而言之,这是一个没有有效解决方案的问题。

顺便说一下,一些游戏(例如EVE Online)鼓励拥有多个帐户的人。也许你不应该担心它。

答案 2 :(得分:3)

您可以检查双向身份验证/一次性密码。例如将短信发送到手机以获取确认码。每人一个电话号码。

答案 3 :(得分:2)

没有全自动的解决方案可以区分两个人共享同一台计算机(甚至可能是该计算机上的同一个用户帐户)和一个使用两个帐户的人。

我建议尽可能多地记录*,例如每个用户的用户名,IP地址和操作,然后运行脚本来检测可疑行为。您可能还希望主持人报告可疑行为。如果您确实检测到可疑行为,请采取适当的措施。

例如,假设来自同一IP地址(或甚至来自不同IP地址)的两个帐户每天相互玩16小时,并且一个玩家总是让另一个玩家获得最大可能分数。您可以在日志中搜索具有特别极端统计信息的用户,然后您可以仔细查看这些播放器的特定日志,并尝试使用一些常识来判断是否是作弊或者是否可以在强者和弱者在同一个家庭中。如果你看到明显的作弊行为,请发送邮件给他们,并警告他们网站的规则。如果警告不够,你可以举例说明在他们作弊的游戏中撤销玩家的奖金,这意味着他们只是浪费了他们的时间。

*警告 - 许多国家/地区都限制记录个人信息。