email - 使电子邮件地址免受网页上机器人的攻击?

标签 email obfuscation

在网页上放置电子邮件地址时,您是否将它们放置为如下文本:

joe.somebody@company.com

或者使用聪明的技巧来尝试欺骗电子邮件地址收集机器人?例如:

HTML 转义字符:

joe.somebody@company.com

Javascript 解密器:

function XOR_Crypt(EmailAddress)
{
    Result = new String();
    for (var i = 0; i < EmailAddress.length; i++)
    {
        Result += String.fromCharCode(EmailAddress.charCodeAt(i) ^ 128);
    }
    document.write(Result);
}

XOR_Crypt("êïå®óïíåâïäùÀãïíðáîù®ãïí");

人类解码:

joe.somebodyNOSPAM@company.com

joe.somebody AT company.com

你使用什么或者你甚至打扰什么?

最佳答案

在 CSS 中处理内容和属性:

.cryptedmail:after {
  content: attr(data-name) "@" attr(data-domain) "." attr(data-tld); 
}
<a href="#" class="cryptedmail"
   data-name="info"
   data-domain="example"
   data-tld="org"
   onclick="window.location.href = 'mailto:' + this.dataset.name + '@' + this.dataset.domain + '.' + this.dataset.tld; return false;"></a>

当javascript被禁用时,只有点击事件将不起作用,电子邮件仍然显示。

另一个有趣的方法(至少没有点击事件)是使用从右到左的标记来覆盖书写方向。有关此的更多信息:https://en.wikipedia.org/wiki/Right-to-left_mark

关于email - 使电子邮件地址免受网页上机器人的攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/163628/

相关文章:

php - 按主题线程化电子邮件

email - 别名转发 : "550 mailbox unavailable", 接收和发送工作正常

java - 无法在测试服务器中使用 Java 发送电子邮件

Objective-C,如何混淆或加密 NSString?

java - 是否可以使用 ProGuard 压缩 rt.jar?

c - 函数名和第一个大括号之间的变量声明

Python 代码混淆

javascript - 无法在 doGet() 中执行多个 MailApp.sendEmail()

php - 基于主管表的动态邮件转发

c - C 代码混淆教程