使用图片、JS或CSS混淆电话及邮件地址防止采集

Web开发 2015-10-28

这个技巧其实很早网络上就有了,在网络上留下电话和邮箱的时候,总是会担心信息被爬虫抓取用来发送骚扰信息。电子邮件地址自不必说,电话就泄露更严重,即使是在赶集网留下的手机号,没几天就被其他不知名的分类网站原封抓取过去。也因此需要对网页上留下的信息混淆隐藏,防止联系方式进一步泄露。

总结一下方式,有下面的几种,可以根据需要选择

使用图片形式

这个方法最简单,直接在PS里输入电话或者邮件地址,字体选择宋体,14点,消除锯齿设置为无。这样保存的图片与大多数网页字体相近,不会显得突兀。如:邮件

使用JS反向排序

这种方式在可以使用js代码的地方可以用,也比较容易。

首先html代码是

<span id='tel'><span>

js代码是

<script>
    var message1="[email protected]";
    var message2="";
    for (count=message1.length; count >= 0; count--){
        message2+=message1.substring(count,count-1);
    }
    $('#tel').text(message2);
</script>

这里利用了反排的形式,将邮件地址反向排序,然后利用js代码还原显示,用户看到的其实就是正常的地址,而爬虫抓取的则是反向的。

利用CSS反向排序

这里与上面的方式类似,直接以css方式反排,适用于无法加载js的情况

首先html代码是

<span id='tel'>[email protected]<span>

css代码是

#tel{ unicode-bidi: bidi-override; direction: rtl; }

这里利用了css左右阅读顺序反向来实现与上面同样的效果。

当然还有其他加密方式,如js加密混淆,利用display:none混淆特殊符号等方式,在需要的场合也可以使用,目前就我来说,简单的反向已经足够使用。


本文由 surenkid 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

2 条评论

  1. ivmm
    ivmm

    博主为什么不添加 “” 标签呢? 首页一看都是文章内容

  2. surenkid
    surenkid

    你是说tag标签吗?之前一直埋头写没在意这个模板默认是没有输出标签的,稍后我在模板里加上

添加新评论