电子邮件混淆问题

标签 email obfuscation spam-prevention platform-independent

是的,我知道这个问题已被提出并得到回答,但我对此有一些具体问题,我觉得在该线程上不清楚,并且我也不希望在另一个线程的困惑中迷失方向。

之前的帖子表示,像 Facebook 那样将电子邮件地址呈现为图像对于商业/专业网站来说是一种过度杀伤力和不专业的用户体验。似乎普遍的共识是使用 JavaScript document.write 解决方案,使用 html 实体或其他一些方法来分解和/或使简单的机器人无法读取字符串。我正在构建的应用程序甚至不需要“mailto:”功能,我只需要显示电子邮件地址。此外,这是一个商业 Web 应用程序,因此它需要看起来/表现得尽可能专业。这是我的问题:

  1. 如果我走 document.write 路线并传递每个字符的 html 实体版本,是否没有足够复杂的网络爬虫来执行 javascript 并提取渲染的文本?或者这被认为是最佳实践并且完全(或几乎完全)防止垃圾邮件发送者?

  2. 图像解决方案有什么不专业的?如果 Facebook 是世界上流量最高的应用程序之一,而且根本不是由业余爱好者运行的,为什么他们的方法在有关此主题的另一个线程中完全被驳回?

  3. 如果您的答案(如在其他线程中)是不要为这个问题烦恼,而让用户的垃圾邮件过滤器完成所有工作,请解释为什么您有这种感觉。我们正在显示用户提供给我们的电子邮件地址,我有责任尽我所能保护他们。如果您认为没有必要,请解释原因。

谢谢。

最佳答案

  1. 它不能防止垃圾邮件发送者。如果有人查看您网站的代码并确定您用于电子邮件地址的模式,则可以编写特定代码来尝试破译该模式。

  2. 我不知道我会说这是不专业的,但它阻止了复制和粘贴功能,这是一个很大的问题。对于图像,您根本无法获得该功能。如果您想将相对复杂的电子邮件地址复制到 Outlook 中的通讯簿中该怎么办?您必须求助于打字,这很容易出错。

  3. 将责任转移给用户的垃圾邮件过滤器确实是一个糟糕的回应。虽然我认为用户应该努力防范垃圾邮件,但这并不能免除发布地址的人的责任。

为此,试图以绝对安全的方式做到这一点几乎是不可能的。做到这一点的唯一方法是拥有一个共享 secret ,代码使用该 secret 来破译编码的电子邮件地址。这样做的问题是,由于 JavaScript 是在客户端解释的,因此您无法对抓取工具保密。

如今,电子邮件地址的编码器通常可以正常工作,因为大多数电子邮件机器人收割者不会专门为每个网站进行编码。他们将尝试采用最小的算法来获得最大的结果(否则返回不值得)。因此,简单的编码器将击败大多数机器人。但是,如果有人真的想获取您网站上的电子邮件,那么他们也可以而且可能很容易,因为编写地址的代码是公开可用的。

考虑到所有这些,Facebook 走图像路线是有道理的。因为他们可以改变图像,使 OCR 几乎不可能,所以他们几乎可以保证电子邮件地址不会被收集。鉴于它们可能是世界上最大的电子邮件地址存储库之一,可以说它们承担着比我们任何人都更重的负担,虽然不方便,但被迫走这条路以确保其庞大用户群的安全和隐私.

关于电子邮件混淆问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/730043/

相关文章:

android - 的意思 { *; } 在混淆器中

javascript - 使用转换后的 JS 函数在 Python 中进行反混淆

django - Django 中的垃圾邮件防护计数器

email - 在来自 http 或 https 的电子邮件中提供图像?

email - 如何在mailutils中设置发件人姓名,同时保留发件人地址

php - 通过在 codeigniter php 中添加 cc 和字段来发送电子邮件

html - Microsoft Outlook 打破了我的 table

python - 我如何知道亚马逊是否成功发送电子邮件

javascript - $注入(inject)器:modulerr Module Error after publishing application on IIS

email - 将附件内联/嵌入电子邮件会导致垃圾邮件吗?这是真的?