避免使用同一电子邮件的多个帐户

我正在致力于一个网站,其中用户根据注册邀请链接(推介)的用户数量获得奖品。

Gmail允许其用户使用一个电子邮件的多种变体。 有三种主要方法可用于扩展可从单个Gmail帐户获得的可用Google电子邮件地址数量:

  • 使用@ googlemail.com域。
  • 使用电子邮件名称中的“点”或句
  • 在名称末尾加上“+”号并添加额外的字符。
  • 所以:

  • myname@gmail.com
  • myname@googlemail.com
  • my.name@gmail.com
  • my.name@googlemail.com
  • my.na.me@gmail.com
  • my.na.me@googlemail.com
  • myname+abcde@gmail.com
  • myname+123abc@gmail.com
  • my.name+abcdefg78@gmail.com
  • my.name+abcdefg78@googlemail.com
  • 都一样。

    我不希望用户使用一封电子邮件创建多个帐户以获得奖品。 我怎样才能避免这种情况?

    谢谢。


    我的做法是 - 将已经注册的电子邮件存储在数据库表中。 在注册期间有一个验证步骤,检查该表是否存在现有的电子邮件地址。 如果表中存在用户提交的电子邮件,则验证失败并向用户显示一条消息,表明他们已经注册。

    并且为了避免人们在游戏中使用正则表达式,在将其存储在数据库表中之前使用正则表达式去除多余的字符。

    一个天真的正则表达式实现可能看起来像(.|+[A-z0-9_-]+|oogle) (用于.NET)。 这将删除所有时段,加号后的字符,并修复gmail / googlemail问题。

    但这并不完美(例如,它会将boogle@gmail.com ),但是您可以根据自己的需要和实际的后端语言对其进行调整。

    链接地址: http://www.djcxy.com/p/92777.html

    上一篇: Avoid multiple accounts with same email

    下一篇: Filtering periods out of email addresses with regex