最佳做法 - 阻止邮件滥用确认

时间:2013-09-22 10:41:26

标签: javascript authentication spam-prevention

这是我第一次使用带有后端安全功能的复杂登录\注册对话框建立一个网站,例如使用激活码进行电子邮件验证,并禁止注册过多的错误登录尝试。

我以为我已经完成了构建安全架构的工作,但随后出现了:如何阻止恶意用户滥用我的新用户对话框。

我能想出的唯一解决方案是在成功注册时使用最后用于注册的电子邮件地址的cookie,后端在新注册尝试时识别此cookie并提示用户有关新发现的信息。甚至可能在回复之前暂停。

但是这只会让12岁的孩子感到无法忍受,这可能不会发生,但是有一个基本技能和足够理由的人可以用简单的脚本来记录成千上万的电子邮件,我无法阻止用户在我的网站上有许多帐户,因为他有电子邮件帐户(amirite?)

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

尝试集成Captcha代码或用户必须执行的操作,例如一个小数学。随机生成用户必须执行的操作才能注册。通常这会惹恼大多数小孩,因为他们必须改变他们的剧本。

Captcha代码通常在公共网站注册页面上很常见......

也可以尝试将电子邮件与该帐户中登录的IP和日志IP地址一起注册,并阻止该帐户的新帐户。

答案 1 :(得分:1)

您可以在注册时记录IP地址,如果您从同一IP地址获得大量用户,则可以阻止它。说垃圾邮件发送者可以欺骗他们的IP。

我建议:

  • CSRF
  • 验证电子邮件地址。
  • 记录所有IP并在必要时阻止。
  • 如果所有人都失败了CAPTCHA,它将不会清除所有内容,但是根据我的经验,它会导致很多事情发生。

答案 2 :(得分:0)

一种可能性是生成随机数服务器端并将其存储在会话变量中,该变量必须与数据一起返回,或者更好的是随机数的某些散列版本,例如。 MD5。这可以由服务器验证。

这意味着每次请求只能尝试一次,小子必须调整脚本以适合您的网站。您甚至可以限制每个会话生成数字的频率。