您在电子通讯订阅中需要验证码验证吗?

4

我正在使用一个自定义的验证码php脚本以及新闻通讯脚本,让用户使用电子邮件地址订阅。注册方法基于jQuery.post命令。

我的问题是,如果我从我的订阅脚本中删除验证码验证,我真的安全吗?订阅很简单。例如

mydomain/subscribe.php?email=myemail@somedomian.com

使用jQuery.post命令调用subscribe.php并将电子邮件作为参数传递。我对Web编程一窍不通,对于与上述场景相关的垃圾邮件发送者并没有太多了解。如果有任何建议,将不胜感激。

谢谢

7个回答

3

垃圾邮件机器人会填写他们能够找到的所有表单。

我每天都会收到来自机器人的订阅,正在逐步为所有表单添加验证码。

机器人不知道他正在填写的表单是用于订阅、联系表单还是群发邮件的机会。

如果您不通过使用验证码或将部分逻辑移入javascript函数来保护自己,则会向所有这些地址发送电子邮件。

这会增加您的流量,降低您对订阅者的控制,使您的统计数据混乱,并且有时您可能会向未想要订阅的用户发送电子邮件,因为机器人通过技巧(例如realuser+buy-viagra-now@gmail.com也可以到达用户realuser@gmail.com)进行了订阅。

所以我的建议:坚持使用验证码 或:修改您的表单以更多地使用javascript(例如通过ajax加载表单),因为机器人不是普通的浏览器用户,他们只是模拟它们。


1

从我所读到的答案中,只有favo的回答是真实的。Spambot是一种计算机程序,最可能逐个在Google中搜索您的页面以查找任何输入框和提交按钮。

我有处理垃圾邮件和我的订阅经验,但添加验证码可能会减少您的订阅量。现在先将其关闭,如果您可以在将其添加到邮件列表之前审核电子邮件,则可以减少垃圾邮件。如果您发现收到太多垃圾邮件,请放心使用验证码。但是,每周一两封垃圾邮件是正常的。

因此,我建议在变得荒谬之前进行审核。


真正的问题是,如果您被垃圾邮件轰炸,很难区分真正的人类用户和垃圾用户。然后,您将不得不向数据库中的所有电子邮件发送邮件。进行验证码验证是好的,但可能会让最终用户订阅感到有点烦人。谷歌显示,大多数网站订阅都没有验证码。现在我不知道他们是否使用任何其他方法/技术来过滤垃圾邮件。 - user354051
通常情况下,您会使用双重确认机制,这意味着您将向新订阅者发送一封带有激活链接的电子邮件--这也有助于过滤错误的订阅和垃圾邮件机器人。 - favo

0

我从来没有听说过垃圾邮件订阅列表。
垃圾邮件发送者以发送自己的垃圾邮件为人所知,而不是订阅别人的邮件列表 %)


0

这要看情况。你可能会受到一般恶意订阅尝试的保护,但无法对针对你注册的攻击进行保护。我个人不会冒险。大多数订阅者是否抱怨过繁琐的注册流程?

你为什么考虑移除验证码?这背后的动机是什么?


没有动力或类似的东西。我是新手,想知道我是否走在正确的轨道上。 - user354051

0
通过移除验证码,基本上会允许机器人进行订阅。 他们为什么想要这样做 - 取决于您的内容。如果新闻简报中不包含任何链接,或者仅包含指向其他非交互式(或受验证码保护)资源的链接,则您可以放心。 如果您的新闻简报包含到达某些资源的链接,那么机器人可能会去垃圾邮件其他人。

0

我过去做过的一些简单事情是添加几个隐藏字段。大多数机器人会填写这些字段,而普通用户则无法填写,因此您只需放置一些逻辑,即如果隐藏字段包含数据,则不执行任何操作。

虽然它不是完全可靠的,但在我实施它的网站上,它确实已经阻止了大量的机器人注册。


-1
我正在使用类似这样的代码:
jQuery.post("php/varify_captcha.php", jQuery("#contact_form").serialize(),function(result, status){
if(status == "success"){
jQuery.post("php/send_mail.php", jQuery("#contact_form").serialize(),function(result, status){
 alert(status);
}
}
}

首先,验证码被验证后邮件才会发送。我的问题是,我应该将验证码验证移动到“send_mail.php”内部吗?我对垃圾邮件及其读取和执行代码的能力一无所知。如果是这样,那么它们可以直接调用“send_mail.php”。请告诉我上述方法是否安全,或者我应该将验证码验证移动到“send_mail.php”内部以使代码更加安全。


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