PHP如何防止刷登陆验证接口

不使用验证码,我目前想到的做法如下:

1.用户登陆失败,记录到memcache以下数据
键:当前ip,值:次数,过期时间:1分钟
2.1分钟以内超过10次后,就会阻止他验证
在mc中,键:ip+login_error 值:1,过期时间:1天
3.等1分钟memcache失效以后,该用户继续尝试,任然登陆失败,重复步骤1,2
超过10次以后,获取ip+login_error的memcache数据,把步骤1的过期时间分钟+2,依次一直延迟过期时间

=======2017年3月28日16:40:26 编辑=========
4.领导又提了下,说考虑如果验证成功的加入白名单,下次进入就不进行判断了.

请问还有什么解决方法?

阅读 3.4k
1 个回答

基于手机号码或登录用户名,限制每天每个手机最多发N条验证码 + 你刚才说的ip限制

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题