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

Posted

技术标签:

【中文标题】我需要/何时需要验证码?【英文标题】:Do I need to have/When do I need Captcha? 【发布时间】:2011-05-04 22:16:23 【问题描述】:

我有一个分类网站,用户必须填写表格才能发布分类(非课程)。

我想知道,您认为我需要在表单上添加某种形式的验证码吗?

另外,我正在开发一个“注册”页面,用户可以获得自己的用户名/密码并登录以更轻松地发布分类广告。

另外,我有一个邮件服务器设置...

所以现在,用户可以点击分类并在底部填写表单中的三个字段(姓名、电子邮件、消息),然后向分类的发布者发送电子邮件。那里没有验证码。这安全吗?

我的防火墙已设置为阻止任何外部访问邮件服务器,但网站 IP 除外。

我可以将防火墙设置为不需要验证码吗?

顺便说一句,我有自己的虚拟专用服务器,它运行的是 Ubuntu。

后续问题是,如果垃圾邮件机器人或其他任何东西,获取我的表格并填写大量表格,或者使用我的邮件服务器发送电子邮件,那会发生什么?

我的网站和邮件服务器会被列入黑名单吗?这是可逆的还是我必须创建一个新的邮件服务器?

谢谢

【问题讨论】:

【参考方案1】:

最好试试Sblam,它对访问者是透明的,不需要用户输入,它在许多网站上都对我有用。

【讨论】:

【参考方案2】:

我可以将防火墙设置为不需要验证码吗?

没有。验证码和防火墙是完全不同的东西,不能相互替代。

如果是垃圾邮件机器人或其他什么,后续 Q 会获取我的表单 并填写很多,或者使用我的 邮件服务器发送电子邮件,什么会 那会发生吗?

您可以编写一个脚本来自动化您网站上的注册过程。它可以在您的服务器上创建如此多的帐户和/或可以发布一些对您的网站不利的内容,或者可以将您的网站用于其他人的广告。

【讨论】:

这些只是不使用验证码的一些主要和基本风险:)【参考方案3】:

我可以看到您可能正在考虑使用 Captcha 的两种情况。

注册 互动/联系表格

但是,如果使用过度,验证码确实会让用户感到不安并赶走用户。

所以,在这些情况下:

注册

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

互动/联系表格

会有两种人会通过这个表格进行互动。会有注册和登录的用户,也会有临时访问者。由于 Captcha 是一种测试一个人是不是人的方法,任何注册/登录的用户都已经证明了自己,没有必要为他们使用 Captcha。

但是,对于临时的未登录用户,您可以为他们使用验证码。

所以,正如你所知道的,我讨厌 Captcha,只有在绝对必要时才使用它。

【讨论】:

即使是确认电子邮件也可能成为令人讨厌的进入障碍,我在开发网站时通常选择不走这条路。如果以这种方式验证用户很重要(取决于站点,它可能并不重要——但如果是的话),那么我还想在电子邮件验证的同时添加其他更容易访问的验证形式——事情喜欢 facebook 连接。【参考方案4】:

绝对是的。

看看reCAPTCHA

你有一个 php 插件here

【讨论】:

【参考方案5】:

我遵循“进入门槛最低”的设计原则。您希望人们使用您的网站,因此您想让他们尽可能轻松。任何东西——包括验证码——都可能把他们拒之门外。所以我的标准是绝对不要在任何地方包含验证码,直到你真正看到垃圾邮件的问题。即便如此,先看看是否可以在没有验证码的情况下解决问题。

关于“如果垃圾邮件机器人开始发送垃圾邮件怎么办”的问题。对此的简单解决方案是预先实施速率限制。使给定 IP 地址的某人无法比每分钟发送一次更频繁地发起电子邮件发送。这实际上不会对真人造成问题,但会阻止垃圾邮件机器人。您甚至可以尝试检测您看到高速率的情况并暂时阻止该 IP 地址 24 小时。这甚至可以防止每分钟一次的垃圾邮件。

【讨论】:

好的,你有什么关于从哪里开始寻找发送电子邮件限制的指针吗?我使用 Postfix 作为邮件服务器。谢谢 我会在应用程序端添加速率限制代码。每次有人回复导致发送电子邮件的分类广告时,记录他们的 IP 地址和时间。在实际发送电子邮件之前,请根据日志检查 IP 以限制速率。如果它小于您决定的任何限制(例如 60 秒),则向用户返回一条消息,告诉他们放慢速度。该应用还可以通过查看日志以相同的方式检测多个重复的高频帖子。【参考方案6】:

captch 主要用于安全目的以停止自动化。就像你有一个注册栏一样,如果你自动化它,一个极客可以在几分钟内轻松创建 1000 个用户。你会失去很多空间。同时,如果你使用验证码,它会更安全,你可以确保所有用户都是人类,没有一个是计算机生成的用户名。 因此,如果您认真对待您的网站,我建议您使用 captch。但请保持简单,就像他们在 megaupload 中所做的那样。我不知道是哪种服务,但仍然很简单。

【讨论】:

好的,那么电子邮件服务器呢?防火墙设置是否安全,还是在发送电子邮件之前我还需要验证码? 不...那很好..你看..一旦你让用户注册,他们应该是免费的..我的意思是尽可能少的限制..所以我会说不要去发送电子邮件之前的验证码。

以上是关于我需要/何时需要验证码?的主要内容,如果未能解决你的问题,请参考以下文章

请问:AppScan如何扫描需要输入验证码的网站呢?

收到支付验证码后未操作,银行卡却被盗刷!原因竟是......

python验证码解码器库

需要一些帮助来添加一些验证码联系表

验证码的识别

qq登陆验证码 ,怎么去掉啊