4


我正在尝试将我的电子邮件地址添加到我的主页,以便垃圾邮件机器人无法看到它。在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 事件?

4

2 回答 2

2

触发事件以获取电子邮件地址的“通用”垃圾邮件机器人必须将页面输入基本上是无头浏览器,以某种方式确定可能是 JS 混淆的电子邮件内容,然后盲目地尝试模拟对有趣数据进行去混淆的用户交互.

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

如果他们真的对收获您的网站感兴趣,他们做的是弄清楚您的保护是如何工作的(嘿,它只是反过来写的)并且只是特殊情况下的垃圾邮件机器人手动解读数据。

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

于 2013-08-05T13:25:24.513 回答
0

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

但是,就像爬虫知道电子邮件链接以 开头一样mailto:,它也可以知道反向电子邮件链接以 结尾:otliam。如果爬虫的创建者发现了反转电子邮件地址的建议,就像您所做的那样,他们只会修改机器人以处理反转的地址。

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

于 2013-08-05T13:26:39.603 回答