【问题标题】:Can spam bots trigger mouseenter or hover events?垃圾邮件机器人可以触发 mouseenter 或 hover 事件吗?
【发布时间】:2013-08-06 05:18:02
【问题描述】:


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

【问题讨论】:

  • 他把它藏起来了……他把邮件地址颠倒了,他们无法阅读被颠倒的邮件地址。
  • 是的,公平的评论@Johan,会收回我的评论

标签: jquery html spam-prevention


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢,很好的答案。我只是想向普通垃圾邮件机器人隐藏我的电子邮件,因为我的网站只显示一个电子邮件地址。所以编写一个特殊的垃圾邮件机器人不会有利可图;)
【解决方案2】:

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

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

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

【讨论】:

  • 确定这并不难逆转,但有多少垃圾邮件作者会花时间真正做到这一点?
  • 如果我写了垃圾邮件机器人,我会这样做——就像你说的那样,这并不难,只需不到 5 分钟。如果这意味着我得到了一些额外的电子邮件地址,那是值得的。
  • 好吧,我可以通过用@替换特殊字符来优化方法。
  • @greg84 显然您低估了他们必须抓取的数据量。如果您花时间对每个带有 @ 符号的字符串进行去混淆处理,那么您将一生都在这样做,或者您可以花时间收集可以快速验证的未经混淆的电子邮件。从垃圾邮件发送者的角度来看,不值得花更多的时间来获得更多的唾手可得的果实。
  • 您也可以对其进行 base64 编码,或对其进行加密并执行 HTTPS 请求以使用 cookie 作为公钥解密该值 - 两者都在顶部。您现在所做的将大部分回避,但只是让人们尽可能难以抓取您页面的电子邮件地址,而无需做太多工作。
猜你喜欢
  • 1970-01-01
  • 2014-05-19
  • 2011-01-11
  • 2011-07-05
  • 2011-08-03
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多