当用户输入 x 个错误密码时,是否有一些好的资源教程或有人尝试在设计上实现验证码?
这个想法是验证码出现在许多请求中,以防止机器人或其他坏人出现并限制设计签名页面上的请求数量。
当用户输入 x 个错误密码时,是否有一些好的资源教程或有人尝试在设计上实现验证码?
这个想法是验证码出现在许多请求中,以防止机器人或其他坏人出现并限制设计签名页面上的请求数量。
我可以考虑通过两种方式做到这一点:
第一个基于 failed_attempts 属性(因此您应该在每次登录失败后增加它)。要在 Devise 上使用它,您可以创建自己的FailureApp
覆盖响应方法以更新以对用户的 failed_attempt 属性进行增量。当用户达到验证码限制时,您可以设置 flash 属性来发出信号,因此,您可以在控制器上决定验证码。但是这种方式存在一个问题:当它为用户登录时,它对尝试不同登录的用户不起作用。
第二个是基于 IP 的:对于每次不成功的登录,您都会记录 IP 和不成功的尝试,当 IP 达到限制时,您设置已经提到的 flash 属性以表示来自该 IP 的请求数已经达到限制你可以显示验证码。您可以使用 ActiveRecord 和关系数据库,甚至像 Redis 这样的轻量级数据库来做到这一点。您还可以考虑从该数据库中删除旧数据的方法。