有什么好的方法保护网页上的email地址防止恶意抓取

如题,虽然用图片代替是个不错的方法,但是如果数量多了就很捉急了。
很多网站选择用"#/(at)"之类是代替,但这也挺别扭的,复制后还得再修改

阅读 8.1k
5 个回答

可以使用特殊字符代替,使用css特性保护email,比如如下的方法,不足之处复制过去就是错的了.

.rotate {
    display:inline-block;
    transform:rotate(180deg);
    -ms-transform:rotate(180deg); /* IE 9 */
    -moz-transform:rotate(180deg); /* Firefox */
    -webkit-transform:rotate(180deg); /* Safari and Chrome */
    -o-transform:rotate(180deg); /* Opera */
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);/* IE */
}

html里使用:

<span class="rotate">ɯoɔ˙lıɐɯƃ@zʎxʍʌnʇsɹbdouɯlʞɾıɥƃɟǝpɔqɐ</span>

比如通过css改变文字方向:

.rtl{
    unicode-bidi:bidi-override;
    direction:rtl;
}

html里可以把email倒着显示过来.

<span class="rtl">moc.liamg@raboof</span>

缺点是复制过来是倒着的.

或者在地址里插入不显示的干扰字符

.email span{display:none;}
<span class="email">foo<span>foobar</span>bar@gmail.com</span>

或者用js编码修改.

用编程语言写一个生成图片的形式.
<img src="imgemail.php" />
这样的形式,即时生成...

CSS的content怎么样?由于它不是内容,所以自然就抓取不到了!

生成串码或者图片,其他对于数据抓包都是一样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏