许多用户和论坛程序试图通过混淆使自动电子邮件地址变得更加困难 - @被替换为"at"和.被替换为"点",所以
team@stackoverflow.com
现在变成了
team at stackoverflow dot com
我不是正则表达式的专家而且我真的很好奇 - 这种混淆真的让自动收获更难吗?是否真的难以自动识别这些混淆的地址?
非也!
我刚才读到这篇文章,它展示了各种方法的有效性(以及相对程度).扭转已经反转的字符串似乎是目前相当不错的保护.
以下代码示例:
moc.etalllit@7raboofnavlis
将输出电子邮件,使其至少可读.
也就是说,这几乎是一场军备竞赛.但是,只要你处于领先地位,收获你的地址就会更加努力,而不是普通的非混淆地址.
混淆技术与验证码属于同一类别.它们不可靠,往往比机器人更伤害普通用户.
Javascript混淆似乎受到了赞扬,但并不是银弹:今天自动化浏览器进行电子邮件嗅探并不难.如果它可以在浏览器中显示,则可以收获它.你甚至可以想象一个机器人正在浏览浏览器窗口的屏幕截图并使用OCR来提取地址以击败你的百万美元混淆技术.
根据您想要混淆电子邮件的位置和原因,这些技术可能很有用:
限制电子邮件可见性:您可以将您的网站/论坛上的电子邮件隐藏给匿名用户,新用户(几乎没有任何活动或迄今为止的帖子),甚至隐藏它们,并使用内置的私人消息功能替换成员之间的电子邮件联系.
使用专门的垃圾邮件过滤的电子邮件:您将收到垃圾邮件,但它将仅限于此特定地址.当您需要向任何用户公开电子邮件地址时,这是一个很好的权衡.
使用联系表格:虽然机器人非常善于填写表格,但事实证明他们太擅长填表.隐藏字段技术可以过滤通过联系表单发送的大部分垃圾邮件.
当我看到这种类型的混淆时,我也会立即想到正则表达式.以这种方式收集"混淆"的电子邮件是件小事.
我曾经想过以这种方式发布我的电子邮件地址:
你可以在这里给我发邮件:
string myEmail = ""; myEmail = myEmail .Append ("myname") .Append ("@") .Append ("domain") .Append (".") .Append ("com");
谁没有成功,我的基本情报测试都失败了.
这将是困难的垃圾邮件发送者以及用户识别的电子邮件地址.
来自维基百科的关于电子邮件混淆或地址修改的好文章
从机器人和垃圾邮件发送者隐藏电子邮件的一种常见方法是创建包含电子邮件地址的图像.例如,Facebook就是这样做的.现在,使用电子邮件图像对于可访问性本质上是不利的,因为文本阅读器将无法读取它.但即便如此,仍有一些免费的字符识别程序可以很好地解码这些电子邮件图像.
从这里开始
我不确定它是否真的有助于垃圾邮件 - 但我已经学会了喜欢用于mailto:标签/电子邮件的Escape Encode Obfuscation.示例标记:
team@stackoverflow.com
邮件team@stackoverflow.com