Security 如何处理对注册表的攻击?

Security 如何处理对注册表的攻击?,security,email,registration,Security,Email,Registration,关于登记程序的问题 我在考虑电子邮件验证,正在玩一些应用程序。 如果 -)攻击者编写一个脚本,用不同的随机电子邮件地址(所有现有的,人们的电子邮件)注册数百万个帐户,然后当人们注册时,它会提示db中已经存在的电子邮件 -)或者更简单一点,如果用户使用其他人的电子邮件地址注册怎么办?注册Ajax会触发在DB中的user表中创建userid和info,但是验证没有完成 但是,当“真实”用户注册电子邮件时,电子邮件已被接收…?因为数据库中不能同时存在2个电子邮件地址(由于脚本无法区分用户……首先,您应

关于登记程序的问题

我在考虑电子邮件验证,正在玩一些应用程序。 如果

-)攻击者编写一个脚本,用不同的随机电子邮件地址(所有现有的,人们的电子邮件)注册数百万个帐户,然后当人们注册时,它会提示db中已经存在的电子邮件

-)或者更简单一点,如果用户使用其他人的电子邮件地址注册怎么办?注册Ajax会触发在DB中的user表中创建userid和info,但是验证没有完成


但是,当“真实”用户注册电子邮件时,电子邮件已被接收…?因为数据库中不能同时存在2个电子邮件地址(由于脚本无法区分用户……

首先,您应该尝试检测同一IP是否在短时间内向您发送多个注册请求,并将其列入黑名单(至少一段时间)

第二,即使发送了验证电子邮件,您也可以做很多事情来避免“重复注册”问题,以下是一些示例:

  • 每天运行一次清理作业-删除超过24小时未验证其帐户(通过电子邮件)的用户的所有条目
  • 在用户验证其注册之前不要创建用户帐户(您可以在另一个表中创建一个条目:例如,未验证的_用户)。这样做可以确保在发生此类攻击时减少现有用户的延迟,因为不会修改用户表
  • 如果用户试图注册,并且他/她已经“拥有帐户”,您应该允许用户通过发送另一封带有链接的验证电子邮件来重置密码
  • 您可以使用注册表中的解决方案来防止此类攻击。现在有智能机器人可以绕过验证码,因此您也可以查找

  • 那么,你为什么不验证这些电子邮件地址是否属于注册者呢?相关:谢谢你的信息/建议!!我正在考虑合并一个易于“注册”的一个应用程序的过程,比如你只需输入电子邮件和密码,它会立即注册,然后你可以稍后验证,并且仍然可以为你捕获信息。我只是在想,如果可以,如果有人注册了我的电子邮件地址,并且(像你的第3点)允许向我的电子邮件地址发送“覆盖”验证电子邮件,(因为我必须登录我的电子邮件帐户,所以它会验证我的身份)然后我可以覆盖那个帐户?@John是的,这是个主意-允许用户重新验证。我猜我可以存储/记录每个设备注册的帐户数,以及限制that@John这也是一个好主意!正如我所写的,有很多方法可以让它更安全:从易于实现的方法开始,如果您觉得需要添加一个al protection开始实施更复杂的选项。非常感谢!耶,我忘了,因为我可以一直拉UUID,UUID总是唯一的,但IP我可以始终VPN它。但我想如果他们VPN它,UUID也会不同。但我现在会坚持你的选项3。