我需要/何时需要使用验证码?

6
我有一个分类广告网站,用户必须填写表格才能发布分类广告。
我想知道,您认为我需要在表单上添加某种形式的验证码吗?
此外,我正在开发一个“注册”页面,用户可以获得自己的用户名/密码并登录以更轻松地发布分类广告。
还有,我已经设置了邮件服务器......
现在,用户可以点击分类广告,在底部填写三个字段(姓名、电子邮件、消息)并向分类广告的发布者发送电子邮件。那里没有验证码。这样安全吗?
我的防火墙设置防止任何外部访问邮件服务器,除非是来自网站IP的访问。
我可以将防火墙设置为一些设置,以便不需要验证码吗?
顺便问一下,如果垃圾邮件机器人或其他人获取了我的表单并填写了很多表单,或使用我的邮件服务器发送电子邮件,那会发生什么?
我的网站和邮件服务器会被列入黑名单吗?这是否可逆转,还是我必须创建一个新的邮件服务器?
谢谢
6个回答

8
我本着“入门门槛最低”的设计原则。你想让人们使用你的网站,所以你要尽可能地简单易懂。任何事情——包括验证码——都可能让他们放弃。因此,我的标准建议是,在你真正看到垃圾邮件问题之前,绝对不要在任何地方包含验证码。即使有问题,也应该先尝试解决而不是立即加入验证码。
至于你的问题:“如果一个垃圾邮件机器人开始发送垃圾邮件怎么办?”解决方法很简单,可以预先实施速率限制。设定一个IP地址,每分钟只能发送一次电子邮件。这不会给真正的用户带来问题,但可以阻止垃圾邮件机器人的行动。你甚至可以尝试检测高速率的情况,并临时阻止该IP地址24小时。这将防止一分钟一次的垃圾邮件攻击。

好的,你有任何关于发送电子邮件限制方面的指针吗?我使用Postfix作为邮件服务器。谢谢。 - user188962
我会在应用程序端添加速率限制代码。每当有人回复分类广告并导致发送电子邮件时,记录他们的IP地址和时间。在实际发送电子邮件之前,检查IP地址是否与日志匹配以限制速率。如果时间间隔小于您决定的任何限制(例如60秒),则向用户返回一条消息告诉他们要放慢速度。应用程序还可以通过检查日志来检测多个重复的高频帖子。 - Ben Lee

2
我可以看到两种情况可能会考虑使用验证码。
  • 注册
  • 交互/联系表单
然而,如果过度使用,则验证码往往会使用户感到不满并离开。
因此,在这些情况下:

注册

最简单的防止或至少使试图创建大量帐户的人不便的方法是使用电子邮件确认。因此,用户填写表单,包括他们的电子邮件地址。然后,表单向他们发送一封电子邮件,其中包含一个链接,他们必须点击该链接以激活帐户并允许他们登录。

交互/联系表单

将有两种类型的人通过此表单进行交互。将有注册且已登录的用户和非注册用户。由于验证码是测试人是否为人的方法,任何已注册/已登录的用户已经证明了自己,因此对于他们没有必要使用验证码。
但是,对于非注册用户,则可以为他们使用验证码。
因此,简而言之,正如你所看到的,我讨厌验证码,并且仅在绝对必要时才使用它。

1
即使是确认电子邮件也可能成为一个烦人的入口障碍,当我开发网站时,我通常选择不走这条路。如果通过这种方式验证用户很重要(根据网站的情况可能并不重要——但如果确实重要),那么我还喜欢在电子邮件验证的同时添加其他更易访问的验证形式,比如Facebook连接。 - Ben Lee

0

验证码主要用于安全目的,以阻止自动化。例如,如果您有一个注册栏,极客可以轻松地在几分钟内创建1000个用户,如果他自动化了它...而且您会失去很多空间...同时,如果您使用验证码,它更加安全,您可以确信所有用户都是人类,没有计算机生成的用户名。

因此,如果您认真对待您的网站,我建议您选择验证码。但要保持简单,就像megaupload上的那样。我不知道那是哪个服务,但仍然很简单。


好的,那么邮件服务器呢?防火墙设置安全吗?还是我需要在发送电子邮件之前添加验证码? - user188962
那个...没关系..你看..一旦用户注册成功,他们应该是自由的..我的意思是尽可能少限制他们..所以我建议在发送电子邮件之前不要使用验证码。 - Prasanth Madhavan

0

0
我能否设置防火墙的某些设置,以便不需要验证码?
不行。验证码和防火墙是完全不同的东西,不能互相替代。
接下来的问题是,如果垃圾邮件机器人或其他什么东西获取了我的表格并填写了很多表格,或者使用我的邮件服务器发送电子邮件,那会发生什么?
有人可以编写一个脚本来自动化您网站上的注册过程。它可以在您的服务器上创建许多帐户和/或发布一些对您的网站不利的内容,或者将您的网站用于其他人的广告。

这只是不使用验证码的一些主要和基本风险 :) - Ankit Jaiswal

0
最好尝试一下Sblam,对于访问者来说非常透明,不需要用户输入,在很多网站上运行良好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接