设计身份验证:必须使用验证码?

时间:2010-12-23 09:07:51

标签: ruby-on-rails captcha devise

我正在使用rails 3下的设计认证插件。目前,我已经禁用了电子邮件确认,因此注册非常简单快捷。

我想知道是否需要某种验证码以保护网站再次机器人。我想避免让我的数据库充满假用户,虽然这对系统没有太大的危害(除了填满磁盘!)。

如果强烈建议使用验证码,如果登录/注册仅限于HTTPS,是否也是如此?机器人使用HTTPS吗?

3 个答案:

答案 0 :(得分:6)

我认为这是一个必要的邪恶。希望我们不必使用它,但我们不会生活在理想的世界中。图像twirly验证码绝对不美观,应该真的避免。

我认为你需要灵活掌握验证码和你使用的验证码。该战略将会并且应该发展。

最初,当您没有多个用户时,您可以完全避免使用验证码。一旦事情开始起步,你就开始在系统中看到机器人,那就选择不可见的验证码(或反向验证码)。反向验证码基本上依赖于某些不被人类填充的字段来识别人类(通过使用css将其隐藏起来,放置人类无法在表单上看到的字段;机器人将找到该字段,填充它,如果字段填满,您知道它不是人;如果你愿意,那就是蜜罐领域。

最终,当您的网站变得非常受欢迎,并且是机器人的目标时,您将选择更难以破解的更难验证码,但用户可能会忽略它以便注册到您非常受欢迎的网站。

所以从没有验证码开始,然后进化。

答案 1 :(得分:2)

我没有看到机器人无法访问使用SSL的网页,因此如果您想避开僵尸网络用户,请添加验证码或激活电子邮件确认。另一种选择(如果你想进行注册/登录)真的很容易使用OmniAuth(Devise也支持)。

答案 2 :(得分:1)

我推荐一款CAPTCHA,它不是那么多工作的好机器人过滤器;如果你担心它的有效性,请使用reCAPTCHA - 它似乎具有相当的弹性并且整合得很好。

对于HTTPS机器人 - 如果它们现在不存在,它们将在几个月内(因为更多网站在FireSheep之后考虑使用HTTPS)。