【问题标题】:Would delayed display of an email address be useful against email scrapers?延迟显示电子邮件地址对电子邮件抓取工具有用吗?
【发布时间】:2015-08-19 10:04:49
【问题描述】:

假设我需要一个显示来自我网站用户的电子邮件信息的公共网页。除了混淆之外,这样的javascript还有帮助吗?

setTimeout(function(){
    document.getElementById(id).innerHTML = "<span>" + username + "@" + hostname +  "</span>";
},50)

【问题讨论】:

  • 电子邮件地址是公开显示还是显示在密码安全部分?

标签: javascript security spam-prevention email-spam


【解决方案1】:

这完全取决于垃圾邮件机器人。这可以阻止一些垃圾邮件程序,但不会阻止专门设计用于绕过这种防御的抓取工具。

这就是军备竞赛的运作方式。

构建一个围绕您想到的防御机制工作的机器人将非常简单。您可以使用无头浏览器(例如 PhantomJS)来获取页面,评估页面上的所有 JavaScript,等待任意时间(例如 10 秒),然后然后抓取 DOM电子邮件地址。

【讨论】:

  • 好的,你是否认为必须在每个页面上等待会降低机器人的效率,然后假设其中许多人不会这样做?
  • @TrtG,我非常怀疑目前任何垃圾邮件机器人都会这样做。如果有人想专门针对您的网站(有什么理由期望这样?),那么定位很容易,但是,是的,我不希望大多数垃圾邮件机器人会因为大多数人不会尝试运行 OCR 的原因而烦恼图片来查看图片中是否有电子邮件地址,尽管这是非常可行的(这太耗费资源了,不值得)。
  • 这完全取决于认为需要防御的攻击类型。有很多现有的策略可以对抗电子邮件抓取工具,比如将其置于验证码后面。为什么不使用其中之一?请参阅:stackoverflow.com/q/23002711/139010en.wikipedia.org/wiki/…
  • 我的网站需要公开展示一些用户信息,这就是为什么我不想使用验证码,因为它会影响用户体验。
  • @Mike:搜索爬虫运行一些 JavaScript,没有理由相信垃圾邮件机器人也不会。不过,这绝对是一个资源/奖励等式。
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多