如何防止电子邮件蜘蛛从网页收集电子邮件?做 mailto: 将它们联系起来会增加它们被拾取的可能性吗?URL 编码有用吗?

显然,最好的对策是只向登录用户显示电子邮件地址,或者提供联系表单而不是电子邮件地址。但就纯粹的客户端解决方案而言,有什么可用的呢?

有帮助吗?

解决方案 4

多年后,我为另一个网站创建了以下jQuery:

$(".email").each(function() {
    $(this).html( $(this).html().replace("...", "@").replace(/\.\.\./g, ".") );
    $(this).attr( "href", $(this).attr("href").replace("...", "@").replace(/\.\.\./g, ".") );
});

然后将电子邮件写为:

<a href="mailto:bob.smith...example...com" class="email">bob.smith...example...com</a>

它并不完美,但它非常简单,似乎挫败了大多数电子邮件收割机。该方法的优点是,不使用JavaScript的人可能能够确定实际的电子邮件地址是什么。


看看这个 研究各种电子邮件混淆方法.

其他提示

大多数电子邮件蜘蛛没有JavaScript口译员,因此,如果您真的需要 mailto: 您可以将其注入JavaScript ...只需确保地址在JavaScript中被遮盖,例如

myLink.href='mai'+'lto:'+'bob'
           +'@'
           +'example.com';

如果您需要在页面上显示电子邮件地址,则常用的解决方案是使用PHP的GD生成图像(尽管JavaScript注入也应该可以为此起作用)。

这个想法是从HTML中删除电子邮件地址,并向它们注入JavaScript。这样一来,电子邮件地址就不会以其原始形式出现在任何HTTP流量中,这就是蜘蛛所在的。

我倾向于避免 mailto 因为它让人们很容易获取电子邮件地址。

如果您打算在网站上有联系页面,那么只需填写一个表格,然后他们提交您的服务器端代码并​​使用适当的电子邮件地址即可。

如果您需要获得其他人的地址,请使用数字、姓名、用户名以及某种方式来识别他们。

如果您在某个范围内只有一个电子邮件地址,即使您尝试隐藏它,它也可能会被获取,因为这些程序可能非常复杂,因为查找电子邮件地址就是它们的目的。

与大多数秘密一样,如果您不希望其他人获得它们,请不要将它们放在页面上。

我通常将它们分为单独的零件,然后使用JavaScript重组它们。最终的JavaScript执行了一个文档。编写以写出HTML。

IE

var mail = "mailto";
var namepart = "test.user";
var domainpart = "example";
var tld = "com"; 
var address = namepart + "@" + domainpart + "." + tld;
document.write("<a href=" + mail + ":" + address + '">' + address + "</a>";

如果您不需要邮件链接,则可以替换 @ 符号

示例:山姆 example.com

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top