如何防止电子邮件蜘蛛从网页上收集电子邮件?将它们链接在一起的mailto:是否会增加它们被发现的可能性?URL编码有用吗?
显然,最好的应对措施是只向登录的用户显示电子邮件地址,或者提供联系表单而不是电子邮件地址。但就纯粹的客户端解决方案而言,有什么可用呢?
发布于 2013-04-27 04:11:57
几年后,我为一个不同的网站创建了以下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的人可能能够找出实际的电子邮件地址。
看看这个study on various email obfuscation methods。
发布于 2010-09-08 09:28:37
大多数电子邮件蜘蛛没有javascript解释器,所以如果你真的需要mailto:,你可以用javascript...只需确保地址在javascript中以某种方式被遮蔽,例如
myLink.href='mai'+'lto:'+'bob'
+'@'
+'example.com';如果您需要在页面上显示电子邮件地址,一个常见的解决方案是使用php的gd生成一个图像(尽管javascript注入也可以做到这一点)。
这个想法是从HTML中删除电子邮件地址,并用javascript注入它们。这样,电子邮件地址就不会以原始形式出现在任何HTTP流量中,而这正是爬行器正在查看的内容。
发布于 2010-09-08 09:23:23
我倾向于避免使用mailto,因为它让人们很容易获取电子邮件地址。
如果你打算在你的网站上有联系页面,那么只要有一个表单,当他们提交你的服务器端代码并使用适当的电子邮件地址时。
如果你需要其他人的地址,使用数字,名字,用户名,某种方式来识别他们。
如果你只有一个电子邮件地址,它很可能会被发现,即使你试图隐藏它,因为这些程序可能相当复杂,因为查找电子邮件地址就是它们的目的。
就像大多数秘密一样,如果你不想让别人知道,就不要把它们放在页面上。
https://stackoverflow.com/questions/3663963
复制相似问题