防止机器人向您的博客发送垃圾邮件的最佳方法是啥?

Posted

技术标签:

【中文标题】防止机器人向您的博客发送垃圾邮件的最佳方法是啥?【英文标题】:What is the best method to keep bots from spamming your blog?防止机器人向您的博客发送垃圾邮件的最佳方法是什么? 【发布时间】:2010-09-20 13:57:41 【问题描述】:

我的博客有问题。我得到了善良的机器人的访问,他们在我的博客文章中留下了“好”的 cmets :(

我想知道除了使用验证码模块之外,是否还有更聪明的方法可以将它们拒之门外。 我对验证码模块的问题是我认为它们对用户很烦:(

我不知道这是否对任何人有任何帮助,但我的网站处于 asp.net mvc beta 中。

【问题讨论】:

验证码真的很烦人,非常适合您寻找替代品。我特别讨厌愚蠢的验证码(比如 SO 博客上的验证码),它们不记得我上次通过了人体测试,并且每次发帖时都会向我展示它们。 所以虽然这不是一个编程问题,但我赞成而不是关闭它。我显然很容易被贿赂:) 【参考方案1】:

一些答案​​建议 Akismet 但I disagree 并考虑dynamic captcha approach the best one

【讨论】:

【参考方案2】:

我通过使用Disqus 运行我的博客的cmets 使垃圾邮件成为其他人的问题。切换后没有垃圾邮件,Disqus 一直在处理它。

【讨论】:

【参考方案3】:

Honeypots and Hashes 我运气不错。

通过让机器人难以成功发布,您可以让用户在没有注册、验证码或 akismet 误报的情况下发布。

【讨论】:

为此+1,同样的方法让每条人工消息都通过我们的过滤器并阻止每条自动垃圾邮件(我保留记录只是为了检查我的过滤器的效率) 一位前同事使用蜜罐取得了巨大成功【参考方案4】:

你有没有想过使用这个?

http://akismet.com/

来自他们的常见问题

当新评论、引用或 pingback 进入您的博客时,它会提交到 Akismet 网络服务,该服务会对评论运行数百次测试并返回赞许或反对。

这是一个非常易于使用的系统,我强烈推荐。

【讨论】:

【参考方案5】:

Akismet 绝对是我所知道的限制垃圾邮件 cmets 的第一方法。也很高兴将其卸载给第 3 方(以合理的价格).. 这样如果客户抱怨,只需“推卸责任”

另一种选择是合并诸如 mod_security 的垃圾邮件发送者签名文件之类的内容。他们有一个关键字列表,您可以扫描评论并在匹配时放置要审核的消息。尽管如果您有一个留言板,实际上讨论了包含这些关键字的主题,您将需要很多版主。 :-)

还可能需要考虑扫描 IP 并将它们与 SpamHaus 或 DCShield 的阻止列表进行匹配。我们最近开始使用这种方法,并且效果非常好。

不起作用的东西:需要注册、简单的验证码、用户代理……这些可以自动化或用廉价劳动力打败。

【讨论】:

【参考方案6】:

拥有一个非常简单的验证码。也许让它总是“橙色”?我认为以前没有人这样做过。

【讨论】:

对于任何投票反对这个明显愚蠢的想法的人:这是 Jeff Atwood(*** 的共同创建者)在他的博客上所做的,并且它似乎有效...... 是的,我不知道为什么这个答案被否决了。这是一个合法的答案,它显然有效(好吧,至少在 Jeff 的博客上有效)。这也很有趣。猜猜投反对票的人要么从未读过codinghorror.com,要么没有幽默感。 我曾经这样做过。我制作了自己的验证码图像,上面写着 abc123。它从未改变。一位用户实际上评论说它总是一样的。 有了这种解决方案,它不会邀请机器人专门针对您的网站吗?虽然单个博客可能不够大,不足以引起机器人作者的关注……但机器人作者特别感兴趣的大型网站不能被利用吗?【参考方案7】:

如果您收到的垃圾邮件包含大量链接,您可以假定任何包含 >= 2 个链接的评论都是垃圾评论,除非博客作者批准,否则不要将其发布到博客上。这是大多数评论垃圾邮件插件所做的。我目前正在开发一个博客软件,在我可以完全集成 akismet 之前,我暂时采用了这个解决方案。

【讨论】:

【参考方案8】:

我认为你有几个选择...

    需要注册才能发布 cmets - 但这比验证码更烦人,所以可能不是最好的主意

    检查张贴者的用户代理(请参阅here)是否有看起来真实的东西或排除那些看起来可疑的东西

    使用漂亮的验证码。尽管它们很烦人,但如果使用得当,它们并没有那么糟糕。前几天我花了 7 次尝试注册一个 gmail,因为我只是看不懂它说什么。一个不错的验证码虽然真的没有那么糟糕,但要简短易读

【讨论】:

以上是关于防止机器人向您的博客发送垃圾邮件的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

限制发送推送通知(防止垃圾邮件) - GCM

如何防止机器人发送垃圾邮件?不和谐.py

如何防止机器人发送垃圾邮件? |抽搐.py |不和谐.py

从 PHP 脚本发送电子邮件的最佳做法是啥?

在 Magento 中防止垃圾邮件直接 POST 请求客户注册

使用 CSRF 表单令牌是不是有助于防止垃圾邮件?