垃圾邮件机器人可以触发鼠标中心或悬停事件吗?

时间:2013-08-05 13:20:21

标签: jquery html spam-prevention


我正在尝试将我的电子邮件地址添加到我的主页,以便垃圾邮件机器人无法看到它。在stackoverflow的某个地方,我找到了写地址反向的解决方案:

<span class="reverse">moc.liam@esrever</span>
<style>
.reverse {
    direction: rtl;
    unicode-bidi: bidi-override;
}
</style>

但是,为了让用户仍然能够与mailto-link进行交互,我得到了以下代码:

<a href="moc.liam@esrever:otliam" class="reverse"><i class="icon-envelope"></i></a>
<script>
    $('body').on('mouseenter', '.reverse', function() {
        $(this).attr('href', $(this).attr('href').split('').reverse().join(''));
    });
    $('body').on('mouseleave', '.reverse', function() {
        $(this).attr('href', $(this).attr('href').split('').reverse().join(''));
    });
</script>

这是一种将您的电子邮件地址隐藏到垃圾邮件机器人的安全方法,还是会触发mouseenter事件?

2 个答案:

答案 0 :(得分:2)

触发事件以获取电子邮件地址的“通用”spambot必须将页面提供给基本上无头的浏览器,以某种方式确定可能是JS混淆的电子邮件内容,然后盲目地尝试模拟反混淆的用户交互有趣的数据。

这可能是没有任何好处的大量工作,垃圾邮件发送者也不会考虑这样做。

如果他们真的对收获您的网站感兴趣,那么他们做什么就是弄清楚您的保护是如何工作的(嘿,它只是反过来写的)而且只是特别的 - 使用spambot手动解扰数据。

这种类型的保护方案应该绰绰有余,只要您太小而不值得定位,但缺点是不使用JavaScript的网站访问者将会遇到困难。

答案 1 :(得分:0)

垃圾邮件机器人通常只会读取页面标记,并查找与特定模式匹配的电子邮件链接或电子邮件地址。因此,您的方法可能会抛弃其中的大多数 - 将(错误地)将moc.liam@esrever视为电子邮件地址的方法。

但是,正如抓取工具知道电子邮件链接以mailto:开头一样,它也可能知道反向电子邮件链接以:otliam结尾。如果抓取工具的创建者发现了反转电子邮件地址的建议,就像您一样,他们只是修改僵尸程序以处理反向地址。

最佳保护是良好的垃圾邮件检测,或使用Captcha或类似的HTML表单。