电子邮件地址混淆真的有效吗?

Kyl*_*nin 474 email spam-prevention

大多数时候,当我看到有人在网上发布他们的电子邮件地址时,尤其是如果是个人地址,他们会使用类似的东西

我 [at] 示例 [dot] com

而不是实际的电子邮件地址 (me@example.com)。甚至这个社区的顶级成员在他们的个人资料中也使用类似的风格:

jt.superuser[AT]gmail[DOT]com

quixote dot su 在那边那个 gmail 的 地方附近

典型的理由是,这种混淆可以防止垃圾邮件发送者自动识别和收集电子邮件地址。在垃圾邮件发送者可以击败除最邪恶的验证码之外的所有验证码的时代,这真的是真的吗?考虑到现代垃圾邮件过滤器的有效性,是否收集您的电子邮件地址真的很重要吗?

aki*_*ira 564

前段时间我偶然发现了一个人的帖子,他创建了一个蜜罐并等待不同混淆的电子邮件地址回来:

比较混淆电子邮件地址的九种方法

CSS Codedirection 0 MB 垃圾邮件

<span style="unicode-bidi:bidi-override; direction: rtl;">
moc.elpmaxe@zyx
</span>
Run Code Online (Sandbox Code Playgroud)

CSS 显示:无0 MB

xyz<span style="display:none">foo</span>@example.com
Run Code Online (Sandbox Code Playgroud)

ROT13加密0 MB

klm@rknzcyr.pbz
Run Code Online (Sandbox Code Playgroud)

使用 AT 和 DOT 0.084 MB

xyz AT example DOT com
Run Code Online (Sandbox Code Playgroud)

使用 Javascript 构建0.144 MB

var m = 'xyz';         // you can use any clever method of
m += '@';              // creating the string containing the email
m += 'example.com';    // and then add it to the DOM (eg, via
$('.email').append(m); // jquery)
Run Code Online (Sandbox Code Playgroud)

替换“@”和“.” 带实体1.6 MB

xyz&#64;example&#46;com
Run Code Online (Sandbox Code Playgroud)

拆分带有评论的电子邮件7.1 MB

xyz<!-- eat this spam -->@<!-- yeah! -->example<!-- shoo -->com     
Run Code Online (Sandbox Code Playgroud)

网址7.9 MB

xyz%40example.com
Run Code Online (Sandbox Code Playgroud)

纯文本21 MB

xyz@example.com
Run Code Online (Sandbox Code Playgroud)

这是 Silvan Mühlemann 制作的原始统计图,所有功劳都归功于他:

Silvan Mühlemann 制作的统计数据

所以,回答这个问题:是的,(在某种程度上)电子邮件混淆是有效的。

  • 不幸的是,这并没有显示避免发送电子邮件的真实用户数量,因为地址很难以各种格式检索。我敢肯定这个数字会很小,但不太可能为零 (74认同)
  • 当我在链接页面(Chrome 8、Mac)上复制 `rtl` 示例时,`moc.etalllit@7raboofnavlis` 最终出现在我的剪贴板上。所以,也许这对于现实世界的使用来说不太实用。 (62认同)
  • @Gareth:使用方法 1、2、6、7 和 8 可以清楚地看到真实电子邮件地址,其中 2 和 5 它们是由 jscript(重新)构建的,并且再次清晰可见,甚至可以使用“mailto:”(因为 jscript 修改了 dom,所以一切看起来都不错)。您会注意到最有效的方法是导致“用户无需执行任何操作即可阅读/解释”邮件地址的方法。“可见”的意思是“您可以将电子邮件从浏览器中复制 N 粘贴。 (21认同)
  • 我希望看到使用生成 mailto: 链接而不是简单的文本电子邮件地址的方法重做这项研究。如果垃圾邮件机器人看到 mailto: 带有混淆地址,无论去混淆是由 JS 还是人工干预完成的,它可能会有不同的反应 - 这是一个强烈的暗示,那里有一个邮件地址 - 但 mailto: 链接对以下内容更有用读者。 (13认同)
  • 遗憾的是 rtl 想法与简单的复制/粘贴不兼容,这是一个创造性的解决方案。 (3认同)
  • @Sidnicious:针对这个缺点,我们可以使用 JS 的渐进增强:`onmouseover="this.innerText=this.innerText.split('').reverse().join(''); this.style.unicodeBidi= ''; this.removeAttribute('onmouseover');"` 它在鼠标悬停时反转电子邮件,因此用户可以安全地复制/粘贴。演示:http://bl.ocks.org/abernier/6203636 (3认同)
  • 这个测试现在已经有 4 年历史了,并且在谷歌搜索中名列前茅。我猜现在有人注册“0”的屏蔽方法会被一些垃圾邮件机器人打败。 (2认同)

ak8*_*k86 53

有由科利·多克托罗一个有趣的文章最近关于这一问题在这里它辩称,电子邮件混淆不提供太多的目的,以及更优化的方法是智能地管理你的垃圾邮件。

TL;DR 版本:

  • 整个练习的目标不是减少您在电子邮件中收到的垃圾邮件数量,而是您必须手动从收件箱中删除的垃圾邮件数量
  • 电子邮件混淆是一场持续不断的战斗,以提出越来越复杂的机器人证明,人类可读的编码,并且会消耗创建者和通讯者的生产力。
  • “几乎任何您使用的任何电子邮件地址最终都会变得广为人知,您应该假设所有垃圾邮件发送者都拥有它。”
  • “稳定、易于复制的电子邮件地址的便利性”胜过试图躲避垃圾邮件机器人。

  • 如果您认为垃圾邮件的成本完全取决于处理它的心理努力,那么这是正确的。如果您认为垃圾邮件的部分成本是带宽或维护垃圾邮件过滤器,那么首先防止垃圾邮件到达您的收件箱是一个有价值的目标。这两个元素都有持续的成本(与讨论中的“改善混淆”元素类似),只是像 Google 这样的服务愿意以能够阅读您所有私人信件的价格提供它。 (14认同)
  • tldr 版本更长。 (12认同)
  • @Synetech:海报可能意味着阅读链接的文章是长版。 (7认同)
  • @ijw - 谷歌几个人组成的团队维护垃圾邮件过滤系统的持续成本总是低于让他们的数亿客户做任何事情的成本。假设垃圾邮件保持在合理的数量,带宽可能也不是什么大问题。 (4认同)

Ign*_*ams 28

如此多的人仍然直接使用@.以至于垃圾邮件发送者几乎不需要想出一种方法来击败任何类型的混淆;没有完成的工作就是没有花费的金钱/时间。

  • 确实,垃圾邮件发送者可能意识到混淆他们的电子邮件地址的人不想要也不会因为垃圾邮件而陷入困境,但另一方面,有一些收割机按地址获得报酬,识别其中的一些内容是微不足道的基本的混淆模式(页面上有“gmail”是一个开始) (12认同)
  • OTOH,如果垃圾邮件发送者看到一个混淆的邮件地址,他可以确定这是一个真正使用过的电子邮件地址,否则为什么要混淆它?请注意,垃圾邮件发送者并不关心垃圾邮件是否有效,但他关心有多少收件人实际收到了垃圾邮件。他销售垃圾邮件服务,而不是产品。 (8认同)
  • 确切地。更不用说在处理这么多数据时使用这种模式对解析器的性能造成的影响。 (5认同)
  • 我没有混淆我的电子邮件,fwiw 我没有看到任何区别 w/ &amp; w/o 混淆。即使它确实通过了,Gmail 在捕获垃圾邮件方面也做得很好,即使没有,我也只是点击了报告垃圾邮件按钮。 (5认同)

Ian*_*ose 26

很多人做的任何事情都会被打败,但如果你隐藏你的电子邮件地址,而不是很多网站这样做,那么垃圾邮件发送者就不会投资寻找它。(他们正在努力赚钱,因此只有在回报高时才会进行大量投资。)

所以不要用别人用的方法,自己想出一个,这是我刚刚想出的:(不要全部复制,否则会停止工作)

电子邮件删除所有数字并使用与我的网站相同的域 i23an@notMyDomain.com

  • *&gt; 任何人做的事情都会被打败* 同意,但将“被打败”替换为*被利用*。这就是黑客很少为 Apple 或 Linux 编写恶意软件而烦恼的原因。它们是否“比 Windows 更安全”无关紧要;这些目标根本不值得花时间。至少,过去是这样。如今,Apple 拥有更大的用户群,成为更具吸引力的目标,并且 Linux 被用于更多的商业服务器。安全措施也是如此。如果破解它给你带来的收益很小,大多数人都不会打扰。如果破解它为您赢得了世界,那么…… (3认同)

小智 17

垃圾邮件发送者不是 NSA。他们破解您的混淆并不重要。为掩饰您的电子邮件地址所做的任何努力可能足以完成任务。

更有趣的问题是,为什么不直接使用一次性电子邮件帐户作为过滤公共论坛回复的截止点?这样您就不必关心该帐户是否收到垃圾邮件,并且在审核了合法回复后,您可以通过您的常规电子邮件帐户联系您的通讯员。


Jak*_*kub 11

是的,在大多数情况下确实如此,因为您需要一种电子邮件收集模式,模式越复杂,垃圾邮件发送者获取电子邮件的成本(时间/金钱)就越高。当然,没有什么能阻止手动收获,但这是非常低的。通常所做的事情是非 JS 编码,收集纯文本电子邮件(检查任何 1-2 年未更改的网站,我敢打赌,它的纯文本电子邮件要 20 美元,他们会收到大量垃圾邮件)。

在我公司,所有面向外部的电子邮件都使用一系列服务器端和 JS 客户端方法进行混淆。

因此,电子邮件永远不会真正看起来像电子邮件,而且模式总是在变化。您会惊讶于这种方法的效果如何,当然有些方法会受到损害并且很容易被破坏,但是更复杂的电子邮件混淆方法通常会使收集变得毫无意义,因为大量的模式检测将需要大量投资资源。

验证码的蛮力是不同的,黑客/垃圾邮件发送者/收割者的目标是特定站点。这并不真正适用于可能使用无数混淆方法的小型妈妈和流行网站,或者用户以各种电子邮件混淆方式(省略 .com 或 .net 等)发布不同格式电子邮件的网站。

大多数收割机不知道 Javascript,即它们不处理 JS。使收割机的这些方法成本更高。有一些收割机确实尝试处理 JS,但是就像我说的那样,当您在几分钟内运行数百万封电子邮件时,这是非常昂贵的,如果您可以处理 1000 封邮件,那么您不想降到 10 封或 100 封。

我的每次随机方法都非常有效,我的帐户中还没有收到任何垃圾邮件。


Mar*_*som 11

我有 2 种未提及的混淆方法。两者都没有提供可点击链接的好处,甚至是剪切和粘贴。

  • 使用图形元素而不是文本。

  • 将元素垂直排列,左侧和/或右侧列有其他内容:

email     dummy@
me at:    example.com
Run Code Online (Sandbox Code Playgroud)

  • 一些垃圾邮件发送者正在使用 OCR 来绕过图形元素,但据我所知,这种情况仍然很少见,因此只要盲人用户不需要与您联系,它应该继续为您工作。+1 分享一些有用的想法。 (2认同)

And*_*son 8

使用简单的基于 wget 的收割机,JS 混淆确实在一定程度上起作用,但我猜也使用了启用 JS 的 IE 实例,它们可以读取网络用户将看到的内容。

当地址被收集或通过您最喜欢的网站之一的安全漏洞被盗时,它最终会被盗用,它将永远复制在垃圾邮件发送者列表中。

我自己的电子邮件地址太旧了,它早于垃圾邮件,因此可以在整个网络上看到,所以我每周都会尝试发送数千次……继续吧!我有时间开发一个复杂的系统,有效地将它变成垃圾邮件陷阱,高分的东西会自动报告给垃圾邮件警察以帮助社区。

垃圾邮件总有一天会被打败,我看到了令人鼓舞的迹象,表明它正在下降。


wco*_*nen 7

我在网络上的任何地方都清楚地显示了我的电子邮件地址,与普遍的看法相反,这似乎对我收到的垃圾邮件数量没有任何影响。长期以来一直稳定在平均每天3个。所以我会说混淆是没有用的。

我确实注意到非常短的用户名(例如 wim@example.com)会导致更多垃圾邮件。显然,垃圾邮件发送者使用的电子邮件地址只是通过尝试所有可能的短字母组合并使用名称列表来生成的。


sin*_*800 6

对我来说非常有用的一件事是使用 ASP.NET 创建一个“LinkBut​​ton”。这个链接按钮然后有一个Response.Redirect("mailto:MailAddress");作为“onClick”动作。这将导致 LinkBut​​ton 具有javascript:DoPostBack(...)作为 URL。最后,它发出一个服务器请求,返回“重定向到邮件地址”。农场机器人从未收到过这封电子邮件。

  • 可能没有用户有机会抱怨无法发送任何反馈了 :) (3认同)