Rails预防垃圾邮件的最新技术

时间:2020-03-06 14:26:02  来源:igfitidea点击:

防止垃圾邮件帐户的最新趋势是什么?验证码?有好的插件,教程或者建议吗?

解决方案

垃圾邮件很公平。它不在乎我们在幕后运行什么。

因此,通过扩展,可以在Rails上正常运行的事物与在PHP,ASPNET等上运行的事物相同。请看一下Akismet和各种"业力"反机器人工具。

对于某些端口,已有红宝石端口,但我们可能必须重写一些任务。

对于帐户创建,我们可能需要使用验证码。我个人并不非常喜欢它们,而且我认为它们没有那么有效。但是,如果我们使用它们,我强烈建议我们使用服务而不是尝试自己动手。重新验证码浮现在脑海中。不过,不确定是否有用于Ruby或者Rails的包装器。

但是,为了防止垃圾内容,我强烈建议Defensio(免责声明:我过去曾在此工作)。它使用最先进的垃圾邮件过滤技术,例如电子邮件所用的贝叶斯过滤技术。有许多博客平台的插件,包括Mephisto(由Rails制造)。该API很简单,我们可以在几个地方找到如何与Ruby一起使用的实际示例。

如果我们想使用验证码来验证只有人类可以注册或者添加内容,则有一个验证码插件:http://ambethia.com/recaptcha/files/README_rdoc.html

使用库:从(几乎)总是比那些擅长子域的人分配代码要好得多。 Akismet背后的Wordpress家伙比我所知道的更多地忘记了博客垃圾邮件,而且我曾经是电子邮件反垃圾邮件研究员。我们可能对Akismet的Rails集成插件感兴趣。

多元化防御:垃圾邮件是一个古怪的问题,因为反制措施越受欢迎,它变得越糟。因此,特别是对于低调的站点,通过编写简单的一次性绊网就能获得令人反感的良好结果。我不会给我们提供任何要复制/粘贴的代码,因为它违反了执行的目的:拥有全球唯一的对策​​。

一个简单的示例是一个隐藏的表单元素,该元素以一些随机字符串开头,并通过Javascript代码设置为已知的正确值。然后,我们弹跳没有提供好的价值的任何东西。这会阻止未实现Javascript的客户端,其中包括绝大多数垃圾邮件脚本。当然,有问题,因为某些合法客户端也会阻止Javascript-但是实际上,如果我们使用的是Rails,我猜我们是在假设Cookie处于打开状态并且Javascript可以正常工作。

编辑:

看来BranBuster已经死了(这是多年前)。但我真的很喜欢:
https://github.com/matthutchinson/acts_as_textcaptcha

我是Rails插件" BrainBuster"的忠实拥护者。这是一个基于逻辑的验证码,我发现它比"键入这些词"更可取,因为有时破译这些词很烦人……看一下"什么是10减去3?"很简单。并给出答案。 YMMV:

https://github.com/rsanheim/brain_buster

我还建议ReCAPTCHA,这是因为它是我们不必管理的高度可靠的服务,并且因为它为ReCAPTCHA团队描述的OCR任务提供了两种常见的商品,并且在向人们传授验证码工作原理,减少遗弃率方面取得了进展。