Woo*_*kai 44 html mailto obfuscation encoding spam
我希望访问者能够直接在我的网页上点击(或复制)电子邮件地址.但是,如果我能够(有点)让机器人和其他爬虫更难获得所述电子邮件地址并将其注册到垃圾邮件列表中,那就太棒了.
我发现了不同的方法(即编码mailto HTML链接),使用JavaScript或纯HTML,但你们推荐什么?JavaScript技术似乎更复杂,但这可能会影响关闭它的用户,以及像Google这样的合法抓取工具.
另一方面,HTML一个看起来有点基础,机器人编写者应该现在已经弄明白了...
我是否应该费心去做这件事,还是垃圾邮件发送者会收到我的电子邮件?我知道反垃圾邮件过滤器越来越好,但如果我能做更多的事情来减缓垃圾邮件发送者的速度,我会的.
Dan*_*llo 37
JavaScript仍然是最好的mailto混淆器之一.对于禁用JavaScript的用户,您可能希望将mailto链接替换为指向联系表单的链接.
以下是一个流行的JavaScript反垃圾邮件混淆器:
还有上面的php版本能够从服务器端生成混淆的电子邮件.
这是上面工具生成的用于混淆我的电子邮件地址的JavaScript代码(注释完整):
<script type="text/javascript" language="javascript">
<!--
// Email obfuscator script 2.1 by Tim Williams, University of Arizona
// Random encryption key feature by Andrew Moulden, Site Engineering Ltd
// This code is freeware provided these four comment lines remain intact
// A wizard to generate this code is at http://www.jottings.com/obfuscator/
{ coded = "lMnK@wMunFK8MDDMKKt.ktl"
key = "1DtzZ8TGBuhRjJMKWI4gkUF2qidfOyPmSN7X30Vpso6xvErLnwQCbalA95HcYe"
shift=coded.length
link=""
for (i=0; i<coded.length; i++) {
if (key.indexOf(coded.charAt(i))==-1) {
ltr = coded.charAt(i)
link += (ltr)
}
else {
ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length
link += (key.charAt(ltr))
}
}
document.write("<a href='mailto:"+link+"'>Email Me</a>")
}
//-->
</script><noscript><a href='contact-form.html'>Email Me</a></noscript>
Run Code Online (Sandbox Code Playgroud)
Har*_*rry 14
这看起来像是一个非常酷的方法来编码角色,我认为这会打败基本的垃圾邮件机器人:
http://robspangler.com/blog/encrypt-mailto-links-to-stop-email-spam/
所以
<a href="mailto:test@test.com">Email</a>
Run Code Online (Sandbox Code Playgroud)
变
<a href="mailto:test@test.com">Email</a>
Run Code Online (Sandbox Code Playgroud)
它的吸引力在于它不需要任何Javascript.
jen*_*ram 10
您可以使用reCAPTCHA Mailhide功能.这将在表单上呈现电子邮件地址,use...@domain.tld省略号是链接以查看完整地址.这对游客来说有点麻烦,但应该给予高级保护.话虽如此,这种技术不会让访问者直接从您的网页复制地址.
我没有像谷歌这样的"合法爬虫".至少,我无法理解Google为什么要将电子邮件地址编入索引. (参见下面的OP评论.)
您可以使用aemail.com等外部服务:
@email 是一种免费的电子邮件隐藏服务,它使用短 URL 隐藏电子邮件,在单击链接后将发件人重定向到 mailto-url。
在 aemail.com 输入电子邮件后,您将获得一个短网址,可用于替换您的“mailto”链接。单击链接后,您的用户将被重定向到“mailto”URL,而不会收到 aemail.com 的任何通知。API可用于动态隐藏电子邮件/获取 URL。
例子:
<a href="mailto:info@itee.com">Contact</a>
替换为
<a href="https://aemail.com/q2">Contact</a>
将保持电子邮件链接工作。
建立在丹尼尔·瓦萨洛的回答,一种方式来加密一个mailto链接,可避免聪明的反垃圾邮件插件,将评估JS document.writeS(由化身指出的)将是把解密的JavaScript函数点击链接时只计算.例如,使用base64作为"加密":
<script>
function decryptEmail(encoded) {
var address = atob(encoded);
window.location.href = "mailto:" + address;
}
</script>
<a href="javascript:decryptEmail('dGVzdEB0ZXN0LmNvbQ==');">Email</a>
Run Code Online (Sandbox Code Playgroud)
我并不是说要知道这是否可以被更复杂的爬虫所取代.
| 归档时间: |
|
| 查看次数: |
48151 次 |
| 最近记录: |