如何“加密”你的email地址
现在在网上要小心,无论是保护好你的用户名和帐号,还是我们的电子邮件地址。在网上有很多爬虫程序专爬我们的电子邮件地址,一量被爬中了,那么你的邮箱里就是一堆又一堆的垃圾邮件,就好像我的haoel(at)hotmail.com一样,在7、8年前,每天几千封的垃圾邮件。现在hotmail的垃圾邮件过滤得好一些了,不过也有每天40封左右的垃圾邮件。但是我们在自己的网页上又需要发布自己的email地址。所以我们需要搞乱我们的邮件地址,就像那种非常规的搞乱代码一样。不过,我们还需要能认人读的出来。
一般来说,在网上现在很普遍的做法是——
- 1)用图片,可以用PHP动态生成那个验证码式的。
- 2)把@变成at,把点变成dot,如 haoel(at)hotmail(dot)com之类的。
- 3)把a变成@,写成haoel@[email protected]
不过这些还是能被爬到,用图片的方法不利于用户拷贝粘贴。下面介绍几种方法:
第一种:使用CSS样式
反转字序
span.codedirection { unicode-bidi:bidi-override; direction: rtl; } <p><span>moc.liamtoh@leoah</span></p>
加入些不显示的字符串
p span.hide { display:none; } <p>foo@bar<span class="hide">null</span>.baz</p>
第二种:使用Javascript
最为简单的方法是:
[javascript]document.write("haoel" + "@" + "hotmail" + "." + "com");[/javascript]
或是:
[javascript]<script type="text/javascript">
<!–
var string1 = "@";
var string2 = "haoel";
var string3 = "hotmail.com";
var string4 = string2 + string1 + string3;
document.write("<a href=" + "mail" + "to:" + string2 + string1 + string3 + ">" + string4 + "</a>");
//–>
</script>[/javascript]
不过更为强大的是使用ROT13加密,这里有一个ROT13的在线工具,或是使用PHP的ROT13的函数str_rot13。
[javascript]<script type=”text/javascript”>
document.write(“<n uers=\"znvygb:[email protected]\">”.replace(/[a-zA-Z]/g,
function(c){return String.fromCharCode((c<=”Z”?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);}));
</script>陈皓的电子邮件</a>[/javascript]
这些方法还是很有效果的。
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《如何“加密”你的email地址》的相关评论
很好很强大的东西。收藏啦
我一般都是用图片啊,或者 全角@
不错
可惜代码的方法在论坛上边用不了啊
试试排版助手开发的邮件地址隐身斗篷:http://www.gidot.net/tool/email/
这里早就有了http://www.ranknow.cn/tools/email_address_protect
实用,后面的例子可以用
不觉得过于小题大做了么?简单的方法是例如类似:”我的邮箱是gooper2009,qq的邮箱。”
我还一直纳闷为什么留邮箱写成“(a)”的形式让用户手动替换,原来是怕爬虫发垃圾邮件,学习了
我基本上都是直接写类似 email at example dot com 这种形式,输入得快,虽然说显然还是很可能被爬的。。。(不过,这么长时间也没收过什么垃圾邮件,还好