2009-08-11 20 views
27

许多用户和论坛程序试图通过混淆使自动电子邮件地址变得更加难以实现 - @被替换为“at”和。被替换为“点”,所以电子邮件模糊处理是否真的使自动采集更困难?

[email protected] 

现在变成

team at stackoverflow dot com 

我不是正则表达式的专家,我是真的很好奇 - 这类混淆真正使自动收获更难?自动识别这些混淆的地址真的很难吗?

+0

80-20 :)你会被停止80 +%,使用简单的方法,垃圾邮件发送者,但如果一些垃圾邮件发送者决心采取电子邮件从你的网页,就很难阻止他们。除非你的内容/页面中有很多电子邮件地址,否则为特定页面花费时间对垃圾邮件发送者来说也是不可行的。成本收益方程... – 2011-05-01 11:30:41

回答

32

非也!

我读this article一段时间以前示出的各种方法如何有效(以及相对程度)即可。 冲销已经逆转串似乎是目前相当不错的保护。

下面的代码示例:

<style type="text/css"> 
    span.codedirection { unicode-bidi:bidi-override; direction: rtl; } 
</style> 

<p><span class="codedirection">[email protected]</span></p> 

将输出的电子邮件,以便它至少可读。

这就是说,它几乎是一个军备竞赛。但只要你在曲线之前,收获你的地址将会更加努力,而不是普通的未被模糊的地址。

+2

非常好的发现! – gnarf 2009-08-11 10:12:46

+0

+1这是一个好主意!谢谢。 – Nirmal 2010-01-15 04:05:54

+6

不幸的是,现在它不是一个好主意,现在它是这个问题的第一个答案。 – 2011-01-22 23:34:54

8

当我看到这种类型的混淆时,我也立即想到正则表达式。以这种方式收集“混淆”电子邮件是一件小事。

我曾经有一个想法就以这种方式公布我的电子邮件地址:

你可以在这里寄给我:

string myEmail = ""; 
myEmail = myEmail 
      .Append ("myname") 
      .Append ("@") 
      .Append ("domain") 
      .Append (".") 
      .Append ("com"); 

谁不让它出来,失败我的基本智力测试。

+0

这很容易,但需要更多努力,并且还需要收割机才能针对每个站点量身定制(或者拥有正则表达式列表,但该列表可能会变得很长,我见过的主题变化)。 – 2009-08-11 09:45:39

+0

@Matthew Scharley:真的没多久。只是一些通常使用的分隔符序列本身被空白分隔。即使是十几种组合,势必产生很多。 – 2009-08-11 09:49:26

6

垃圾邮件发送者和您的用户难以识别电子邮件地址。

从维基百科的一个很好的文章Email obfuscation or address munging

一位来自 机器人和垃圾邮件发送者隐藏电子邮件的常用方法是创建一个 图像包含的电子邮件地址。例如,Facebook做到了这一点。现在, 使用图像进行电子邮件固有地是 对可访问性不好,因为文本 读者将无法读取它。 但是,除此之外,还有几个 免费字符识别程序 ,这些程序可以很好地解码这种电子邮件图像。

here

+0

Javascript重写可以为您的用户群的98%修复此问题,该用户群不禁用JavaScript。 – 2009-08-11 09:46:43

+0

是的,但刮板不会启用JS,所以混淆必须是从服务器发送的呈现页面的一部分。 – 2009-08-11 09:54:12

1

它并使它更难,但是有这么多真的很聪明刮削器,它可能不会有很大的帮助,因为垃圾邮件发送者大都是使用高品质邮件工具。

+2

或者最糟糕的情况 - 以每小时10美分的价格向其他人支付手动将其从网站上复制下来。 :) – gnarf 2009-08-11 10:11:10

+0

@gnarf是的,但比较运行一个仍然非常昂贵的机器人的成本 – Jiaaro 2009-08-12 19:10:06

1

如何与spamers打架?让没有大脑(即电脑)的东西让电子邮件地址更难辨认。

非英语是你的朋友:如果你的用户群是为非英语社区,转而使用其他语言的混淆:team_małpa_stackoverlow_kropka_com或team_Affenschwanz_stackoverflow_Punkt_com是完全分别Polish-和德语社区识别电子邮件地址。一些电子邮件收割机知道波兰语或德语,但机会是大多数收割机只会理解英语。

如果你无法离开英国,比切换到一些描述phrases-这样的:“为了给我们写邮件球队在你的地址栏中,不是把象征AT,不是写我们的网站的名字!”。

5

我不知道它是否真的与垃圾邮件帮助 - 但我已经学会了对爱情的mailto Escape Encode Obfuscation:标签/电子邮件。一个例子标签:

<a href="%6D%61%69%6C%74%6F%3A%74%65%61%6D%40%73%74%61%63%6B%6F%76%65%72%66%6C%6F%77%2E%63%6F%6D">&#116;&#101;&#97;&#109;&#64;&#115;&#116;&#97;&#99;&#107;&#111;&#118;&#101;&#114;&#102;&#108;&#111;&#119;&#46;&#99;&#111;&#109;</a> 

邮件[email protected]

10

混淆技术属于同一类别的验证码相比。它们不可靠,并且比机器人更易于伤害普通用户。

JavaScript混淆似乎受到赞扬,但没有银弹:今天并不难于自动浏览器进行电子邮件嗅探。如果它可以在浏览器中显示,它可以被收获。你甚至可以想像,正在服用一种浏览器窗口的截屏,并使用OCR提取地址打败你千万美元的混淆,技术,一个机器人。

根据您要进行模糊处理电子邮件的位置和原因,这些技术可能是有用的:

  • 限制电子邮件知名度:你可能隐藏在你的网站/论坛匿名用户的电子邮件,以新用户(几乎没有任何活动或发布日期),甚至完全隐藏它们,并用内置的私人消息传递功能替换成员之间的电子邮件联系。

  • 使用专门的垃圾邮件过滤电子邮件:你会得到垃圾邮件,但它将被限制在这个特定的地址。当您需要将电子邮件地址公开给任何用户时,这是一个很好的折衷。

  • 使用联系表格:虽然机器人在填充表格方面非常出色,但事实证明他们在填写表格方面表现出色。 Hidden field techniques can filter most of the spam coming through your contact form

1

为了提供一个字面上的答案,是的,收获混淆地址比收集标准化地址更困难。真正的问题是收割机是否会付出额外的努力,以及收割机的(主要?次要?)障碍是否值得您的用户可能遇到的问题。

如果您打算对地址进行争夺或以其他方式将它们转换为标准表格,则应该避免在您的方式方面保持一致 - 至少在同一个网站上。例如,如果大型社区站点上的每个电子邮件地址在标记中被颠倒并用CSS正确渲染,或者用标记替换(@变为'at')或任何其他可预测的方法,收集器将只写适用于您的网站的瘦适配器。

想想这样:如果只需要你一行代码就可以在网站上“加密”它,它只会让收割者的一行代码为你的网站“解密”它们。大致说来。

在我看来,垃圾邮件已经成为这样一个问题,许多数据库已被移交,我们超越了隐藏我们的地址。相反,请考虑查看Defensio和Akismet等,以帮助分类和阻止垃圾邮件。

4

将“ADT保护”贴纸放在您的前门上是不合适的。

会阻止天才防盗进入你的房子吗?当然不是。

它是否会让隔壁的房子带有未锁的门和窗户中的iPod成为更引人注目的目标?很可能。

一个简单的未混淆的电子邮件刮板即将获得电子邮件的TONS。也许一个非常简单的正则表达式来拾取非常常见的混淆方法是值得的。过去,你花了很多时间试图破译越来越少的电子邮件。

所有这一切说,有一些聪明的混淆可能是值得的。

为了记录,我的电子邮件已经以纯文本形式出现在我的公共简历中好几年了,因为我使用了gmail,它有一个垃圾邮件过滤器工作

3

我想知道为什么到目前为止没有人提到ALAs解决方案。

罗埃尔凡GILS写了一篇关于优美电子邮件混淆于2007年

优美电子邮件模糊处理是一个简单的JavaScript 电子邮件混淆技术与接触形式后备

  1. 的电子邮件地址通过将它们转换成一个URL poiting到一个接触的形式和应用模糊一个ROT13变换
  2. mailto:[email protected]contact/mail+example+comcontact/znvy+rknzcyr+pbz
  3. 通过JavaScript contact/znvy+rknzcyr+pbz被转换回mailto:[email protected]
  4. 如果没有javascript可用,浏览器将打开contact/znvy+rknzcyr+pbz作为后备。联系表格将知道由于url而在哪里发送电子邮件。

http://www.alistapart.com/articles/gracefulemailobfuscation/

1

我有一个解决方案,那么,更多的是理论。 问题是,机器人解析页面。他们可以获得文字。即使它通过Javascript以某种复杂的方式将 放入页面中。

所以,只要你CSS3伪元素!它不会是一个链接,但您的电子邮件将是可见的,并且永远不会成为一个实际的文本。是这样的:

.email::after{ content:'[email protected]'; } 

再次,这是一个理论,我不知道这些邪恶的人能走多远得到它,但我认为这是相当安全的。即使在今天(除非他们解析CSS文件,我不认为他们这样做)

0

它并使它更难在一定程度上,而是由用户使用的简单的人(在[dot][at])已过时,可垃圾邮件发送者使用简单的正则表达式轻松捕获。

使用为图像简单的东西将是没有努力,“解密”编码的电子邮件ID预期人类利于读者和可读性。

联系电子邮件:

如果仍然偏执字符识别配备垃圾邮件机器人,他们这样的事情将是有效的。

它采用光学错觉是一种优势,完成在人的头脑无法通过计算机视觉是很容易理解的信件。应用类似CAPCHA的覆盖也可以提供帮助,但我怀疑你需要走这么远。