帐户验证:每人只能使用一个帐户

时间:2011-05-11 13:00:16

标签: verification user-accounts account-management

在我的社区中,每个用户应该只有一个帐户。

所以我需要一个解决方案验证特定帐户是用户拥有的唯一帐户。目前,我使用电子邮件验证。但我真的不需要用户的电子邮件地址。我只是试图阻止每个人的多个帐户。

但这当然不起作用。无论如何,人们创建临时电子邮件地址或拥有多个地址。因此,他们使用不同的电子邮件地址注册,因此他们获得了多个帐户 - 这是不允许的。

所以我需要一个比(易于规避)电子邮件验证更好的解决方案。顺便说一句,我不想​​使用OpenID,Facebook Connect等。

要求:

  • 所有用户都必须可以访问验证方法
  • 用户不应该付费(至少1美元)
  • 验证必须安全(比电子邮件方法更安全)
  • 不应要求用户公开过多的私人信息
  • ...

您对好方法有什么想法吗?非常感谢你提前!

其他信息:

我的社区是一个浏览器游戏,即足球经理游戏。使多个帐户具有吸引力的是用户可以交易他们的玩家。因此,如果您有两个账户,您可以购买价格过高的弱势玩家,这是“真正的”买家无法支付的。因此,当“第二个帐户”变得贫穷时,您的“第一个帐户”会获得巨额资金。但你不必关心:只需创建另一个帐户,使第一个帐户更丰富。

13 个答案:

答案 0 :(得分:10)

你应该要求一些比电子邮件更独特的东西。但绝对没有办法绝对确定玩家不拥有两个账号

IP解决方案不是解决方案,因为从compagny / school / 3G播放的人将具有相同的IP。此外,更改IP很容易(重置路由器,代理,使用3G对wifi)

某些网站(求职,...)要求您提供正式身份证号码(身份证,护照,社会保障,驾驶执照,签证(没有安全号码)感到安全,你不会向他们收费),...)

这个解决方案有一些缺点:

  • 未成年人并不总是有身份证/签证
  • pepole不喜欢放弃这种信息。 (事实上​​,取决于你居住的地方:例如,在西班牙,要求提供身份证号码很常见)
  • 人们拥有多个签证。
  • 可以生成valide ID /签证号码。

替代方式:

要求收取1美元

的费用
  • 允许交易超过X玩家/花费超过X钱。
  • 支付费用的人获得了一些优势:减少广告,增加额外的玩家......
  • 支付费用,将限制创建多个帐户。
  • 费用可以使用纳税电话号码支付(某些公司提供国际系统)
  • 付款媒介可以用作身份证(签证号码)

在新帐户中加入了一些限制(如SO)。

  • 例如:“你必须在交易玩家前至少玩1小时”
  • 例如:“你必须在交易超过3名玩家之前至少玩3小时”

使用逻辑来检测多个帐户

  • 使用Cookie检测多个帐户
  • 检查交易前两个玩家的最后连接时间。 (如果玩家A在玩家B登录前1分钟退出:某事正在进行中)

我的建议:

使用所有thodes方法的混合,但保持用户体验流感没有“形式填写现在继续”

答案 1 :(得分:7)

非常有趣的问题!这里的基本问题是多部分 -

  1. 开设一个帐户很简单(因为创建新的电子邮件ID很简单)。
  2. 但是在游戏中开设账户的效果并非微不足道。开设新账户基本上可以为您提供一定的资金来购买玩家。
  3. 将资金转移到另一个帐户是微不足道的(通过交易玩家)。
  4. 结合1& 2,你有一个问题,即新球员有不公平的优势(他们在现实世界中没有)。这可能没问题,因为它会吸引新用户访问您的网站。

    然而,在混音中添加3,你就会遇到新玩家很容易将自己的优势转移给老玩家的问题。这允许老用户游戏系统,破坏他人的乐趣。

    解决方案可以删除1,2,3。

    1. 删除1 - 这是您关注的部分。正如其他人所说,这是不可能的,100%的准确性。但是有些方法足够好,取决于你的“足够好”的标准有多严格。我认为最好的妥协是询问用户他们的手机号码。它很有效,允许您以更多方式联系您的用户。另一种方法是让您的服务“仅限邀请” - 确保有一个明确定义的邀请“跟踪”,可以唯一地识别用户。

    2. 删除2 - 没有人建议这有点令人惊讶。注册时不要给新用户一大笔钱!让它们为它工作,类似于在现实世界中筹集种子资本。你的足球模拟有社交方面吗?一旦他们的“朋友”数超过一定数量(增加给他们钱的潜在投资者的数量),只给用户钱?

    3. 删除3 - 其他人已经为此发布了最佳解决方案。采用类似SO的策略,新用户必须先玩3小时才能允许他们转移玩家。或者也许为你的游戏添加一个“训练”阶段,迫使新玩家在被允许与真实用户玩游戏之前在模拟环境中赚足够的钱来证明自己的价值。

    4. 或以上的任何组合!结合匹配IP地址和寻找可疑交易等启发式方法,可以使游戏作弊完全不可行。

      当然,你需要记住的最后一件事是它只是一场游戏。如果有人为了在模拟中获得一点优势而遇到很多麻烦,他们可能应该保留它。只要每个人都玩得开心!

答案 2 :(得分:2)

我知道这可能不是你所期待的,但是......

我的建议是,如果他们使用相同的帐户更长时间,一种忠诚度计划,则会阻止人们通过提供一些奖励值来创建另一个帐户。出于某种原因,使用新帐户会带来一些好处。让我们消除它们。这里有很多聪明的人,所以如果你分享更多有关优势的细节,有人可能会提出一些想法。我完全相信这是关于SO的话题。

答案 3 :(得分:2)

我们通过隐藏注册表单来实现这一点。我们的客户只能看到我们使用其手机号码作为用户名的登录表单,并通过短信发送密码。

后端系统将手机号码与我们的主客户数据库相匹配,该数据库强制确定手机号码是唯一的。

答案 4 :(得分:2)

这是一个想法:

  • 将UUID存储在客户端的cookie中。每个用户登录都存储Cookie中的UUID与数据库中的帐户实体的关系。
  • 对IP地址执行相同操作,而不是使用UUID。

之后为您的游戏大师编写一个程序界面:

  • 显示不同的帐户名称但相同的IP(最近x小时内)
  • 显示不同的帐户名称,但使用相同的UUID(不久前)
  • 突出显示上述两点的数据集,其中发生的操作(如玩家转移)可能会被多个帐户滥用

我认为您不应该通过阻止拥有两个或更多帐户的人来解决这个问题。这是不可能的,也是无效的。更容易找到邪恶的活动,并(自动临时)禁止这些人。

答案 5 :(得分:1)

用程序完成这个是不可能的。

您最接近的方法是检查IP地址。但它可以改变,代理存在。

然后你可以获得计算机的MAC地址,但可以更改网卡。还有一台电脑。

然后,有一种方法可以做到这一点,但你需要面对面地看到人们。用一张独特的代码将它们交给他们一张纸。他们只有拥有代码才能订阅。

答案 6 :(得分:1)

最有效的解决方案可能是使用击键生物识别技术。一个人可以通过该人写句子的方式来识别。

该公司提供的产品可用于实现您的要求:http://www.psylock.com/en

答案 7 :(得分:1)

我认为每个电子邮件地址的1个帐户应该足以满足您的需求。毕竟,帐户验证不必在注册后立即结束。

您可以发布每封邮件发布的计算机的IP地址,以帮助您的用户检测到有人在同一台计算机上使用多个帐户,并且您可以使用排名系统来阻止人们使用临时帐户。

答案 8 :(得分:1)

您的游戏动态是否允许您要求两个用户都在线进行交易?如果是这样,您可以验证交易中涉及的两个用户的IP地址,除非用户为多个互联网连接付费并从不同的计算机访问两个帐户,否则这将是相同的。

答案 9 :(得分:1)

解决您所说的确切问题。

跟踪玩家的预期/公平交易价值,并防止公然交易,特别是。对于新帐户。假设您系统中的绝大多数用户都是非欺骗者。

你还可以做一些事情,比如在非交易行动中涓涓细流/积分/自动加班等等。

答案 10 :(得分:0)

让他们输入电话号码并发送短信。然后,保留所有手机号码的唯一性。大多数人都有一部手机,并且不会要求他们的朋友借用它来创建第二个账户。

http://en.wikipedia.org/wiki/List_of_SMS_gateways

答案 11 :(得分:0)

我建议使用两种方法:

1)不要让全新的账户进行交易。账户必须经过一段等待时间,并通过执行一些非交易行为来证明该账户是合法的。

2)宣传骗子将被取消资格并受到惩罚。定期执行搜索用于转储坏玩家和调查的帐户。禁止/取消欺骗者并宣传禁令,以便人们知道规则正在执行。

任何方法都不是万无一失的,但惩罚的威胁应尽量减少作弊。

答案 12 :(得分:0)

实际上,您可以使用Fingerprintjs跟踪每个用户,使用js在浏览器中加密指纹并在服务器中解密

相关问题