我正在尝试将我的电子邮件地址添加到我的主页,以便垃圾邮件机器人无法看到它。在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事件?
答案 0 :(得分:2)
触发事件以获取电子邮件地址的“通用”spambot必须将页面提供给基本上无头的浏览器,以某种方式确定可能是JS混淆的电子邮件内容,然后盲目地尝试模拟反混淆的用户交互有趣的数据。
这可能是没有任何好处的大量工作,垃圾邮件发送者也不会考虑这样做。
如果他们真的对收获您的网站感兴趣,那么他们会做什么就是弄清楚您的保护是如何工作的(嘿,它只是反过来写的)而且只是特别的 - 使用spambot手动解扰数据。
这种类型的保护方案应该绰绰有余,只要您太小而不值得定位,但缺点是不使用JavaScript的网站访问者将会遇到困难。
答案 1 :(得分:0)
垃圾邮件机器人通常只会读取页面标记,并查找与特定模式匹配的电子邮件链接或电子邮件地址。因此,您的方法可能会抛弃其中的大多数 - 将(错误地)将moc.liam@esrever
视为电子邮件地址的方法。
但是,正如抓取工具知道电子邮件链接以mailto:
开头一样,它也可能知道反向电子邮件链接以:otliam
结尾。如果抓取工具的创建者发现了反转电子邮件地址的建议,就像您一样,他们只是修改僵尸程序以处理反向地址。
最佳保护是良好的垃圾邮件检测,或使用Captcha或类似的HTML表单。