如何防止WordPress站点的邮箱地址被恶意扫描收集

2017-04-05 07:30 阅读 119 次 评论 22 条

前几天分享了开启百度云加速的『邮箱地址混淆』功能会影响到用户体验,其实百度云加速这个功能的出发点是好的,因为现在网络上有很多爬虫工具,专门四处扫描收集站点代码中出现的邮箱地址来谋取私利,部分博主站长通过把邮箱中的 “@” 换成 “#”,但这样一样会影响到用户体验,而且很容易就被机器人识破了。所以今天我们来分享一下如何做到不影响用户体验,又能防止邮箱地址被恶意扫描收集。

如何防止WordPress站点的邮箱地址被恶意扫描收集 WordPress 第1张

antispambot函数

WordPress有个antispambot函数可以将 Email 地址的字符转化成 HTML entities,让采集器无法识别Email地址,保护你的邮箱不受垃圾邮件的骚扰。同时又可以让其他网友可以自由地复制Email地址,而不必做成图片的形式,影响用户体验。

方法一:人工添加短码方式防止被采集

1、将以下代码添加到当前主题的 functions.php 最后一个 ?> 的前面:

  1. /**
  2.     *WordPress 防止机器人扫描邮箱
  3.     *https://www.endskin.com/antispambot-shortcode/
  4. */
  5. function Bing_antispambot( $attr$content ){
  6.     return antispambot( $content );
  7. }
  8. add_shortcode( 'email', 'Bing_antispambot' );

2、在文章中需要插入邮箱的时候,需写上以下短码(PS:可自行做成按钮集成到编辑器中):

  1. [email]boke@qq.com[/email]

3、效果验证

如上图所示,前台显示的邮箱地址不影响用户体验,阅读很直观,而且可随意复制;文章源码显示的邮箱地址是已经被转义了,可以起到防止被扫描收集的作用。

PS:这个方法只适用于文章内部,在评论中按格式输入的邮箱地址没有被转化。

方法二:站点自动转化邮箱地址防止被采集

1、将以下代码添加到到当前主题的 functions.php 最后一个 ?> 的前面:

  1. /**
  2.     *WordPress防止邮箱采集器收集文章和评论中的Email地址
  3.     *https://www.ludou.org/automatically-hide-email-adresses-from-spambots-on-wordpress.html
  4. */
  5. function security_remove_emails($content) {
  6.     $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i';
  7.     $fix = preg_replace_callback($pattern"security_remove_emails_logic"$content);
  8.     return $fix;
  9. }
  10. function security_remove_emails_logic($result) {
  11.     return antispambot($result[1]);
  12. }
  13. add_filter( 'the_content', 'security_remove_emails', 20 );
  14. add_filter( 'comment_text', 'security_remove_emails', 20 );

2、在文章或评论中可以直接输入邮箱地址,发布或提交后,前台可以直接看到正常的邮箱地址,但是源码中显示的却是转义后的邮箱地址。

3、效果验证

如何防止WordPress站点的邮箱地址被恶意扫描收集 WordPress 第3张

如上图所示,在文章和评论中直接输入邮箱地址,在前台都可以很直观看到邮箱地址,并且可以直接人工复制;在文章和评论源代码中显示的邮箱地址却是转化过的代码,说明已经起到保护邮箱地址作用了。

小结

方法一代码比较简单,但是添加邮箱地址方式相对复杂,而且评论处不起作用,适合偶尔在文章中出现邮箱地址的站点使用;方法二是全自动,而且同时适用于文章和评论,功能比较强悍,适用于文章和评论都经常出现邮箱地址的站点使用。综上所述,Boke112 建议大家直接采用方法二。

参考资料

本文地址:http://boke112.com/3877.html
文章标签: ,   ,  
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 写给工厂上班的人
    写给工厂上班的人 【镇长】 @回复

    这个估计针对不专业的人可以限制到。

  2. 夏日博客
    夏日博客 【队长】 @回复

    貌似都是直接换井号来避免的吧。

  3. 明月学习笔记Blog
    明月学习笔记Blog 【村长】 @回复

    好吧,折腾的差不多了,过来溜溜!

  4. 马超金博客
    马超金博客 【镇长】 @回复

    感谢分享

  5. benen005
    benen005 【县长】 @回复

    爬虫可以反编译,不是分分钟的事

  6. YangOne
    YangOne 【镇长】 @回复

    感谢分享, 挺实用的

  7. 呆毛电脑配置网
    呆毛电脑配置网 【县长】 @回复

    居然还能这样搞

  8. 衣皇后
    衣皇后 【农民】 @回复

    对你爱爱爱不完,我可以天天月月年年看你博客到永远!

  9. 演绎法
    演绎法 【县长】 @回复

    现在真是啥人都有

  10. 明月登楼学习Blog
    明月登楼学习Blog 【村长】 @回复

    可惜,我的Typecho无法使用!

  11. 明月登楼
    明月登楼 【总理】 @回复

    这个其实还是很有必要的!现在网上恶意的太多了!

  12. 彩票自助机
    彩票自助机 【县长】 @回复

    恶意的很讨厌

  13. 捕鱼游戏
    捕鱼游戏 【镇长】 @回复

    真的很棒

  14. 辩论吧
    辩论吧 【省长】 @回复

    有些人真的是无孔不入啊

  15. 橘子书
    橘子书 【县长】 @回复

    [鼓掌] 以前对这个真不在意,现在细思极恐

  16. 外链工具
    外链工具 【县长】 @回复

    一直没有注意过这些,怪不得这么多的垃圾邮件。

  17. 岷仁安防网
    岷仁安防网 【镇长】 @回复

    哇,今天居然到前排了、

  18. 武汉楼板现浇
    武汉楼板现浇 【村长】 @回复

    这么早就在更新,博主真是勤劳

  19. 金榜台博客
    金榜台博客 【市长】 @回复

    来看 看怎么样