2013-09-22 24 views
2

这是我第一次构建一个网站,其中包含复杂的登录\注册对话框,并具有后端安全专长,例如电子邮件验证与激活码和禁止注册太多不良登录尝试。最佳实践 - 阻止通过滥用邮件确认

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

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

但是,这只会让12岁的孩子无法忍受,它可能不会发生,但是具有基本技能和足够理性的人可以通过简单的脚本来闯入成千上万封电子邮件,我不能阻止用户在我的网站上有很多帐户,他有电子邮件帐户(amirite?)

有什么建议吗?

+0

AFAIK,没有在线服务停止发生。 –

+0

+1伟大的问题。希望更多的人会担心这种事情... – Mithon

+0

你的用户通过html表单或ajax提交数据吗? – andrew

回答

1

尝试整合验证码或用户必须做的事情,例如,一个小数学。随机生成用户必须做的事情才能注册。通常这会让大多数小子头疼,因为他们必须改变他们的脚本。

图形验证码通常是一些很常见的公共网站注册页面...

还可能尝试与IP一起注册的电子邮件和登录IP地址登录该帐户,并阻止该IP的新帐户。

1

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

我会建议:

  • CSRF
  • 验证的电子邮件地址。
  • 记录所有IP并在必要时阻止任何IP。
  • 如果所有的CAPTCHA都没有通过,它将不会清除所有的东西,但是在我的经验中会杀死很多。
0

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

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