欢迎光临
我们一直在努力
扫描二维码在手机上浏览
WordPress相关

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

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

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

  1. 将以下代码添加到当前主题的 functions.php 最后一个 ?> 的前面:
    /**
        *WordPress 防止机器人扫描邮箱
    */
    function Bing_antispambot( $attr, $content ){
        return antispambot( $content );
    }
    add_shortcode( 'jsk_email', 'Bing_antispambot' );
  2. 在文章中需要插入邮箱的时候,需写上以下短码(PS:可自行做成按钮集成到编辑器中):
    [jsk_email]boke@qq.com[/jsk_email]
  3. 效果验证:如上图所示,前台显示的邮箱地址不影响用户体验,阅读很直观,而且可随意复制;文章源码显示的邮箱地址是已经被转义了,可以起到防止被扫描收集的作用。

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

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

  1. 将以下代码添加到到当前主题的 functions.php 最后一个 ?> 的前面:
    /**
        *WordPress防止邮箱采集器收集文章和评论中的Email地址
    */
    function security_remove_emails($content) {
        $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i';
        $fix = preg_replace_callback($pattern, "security_remove_emails_logic", $content);
        return $fix;
    }
    function security_remove_emails_logic($result) {
        return antispambot($result[1]);
    }
    add_filter( 'the_content', 'security_remove_emails', 20 );
    add_filter( 'comment_text', 'security_remove_emails', 20 );
  2. 在文章或评论中可以直接输入邮箱地址,发布或提交后,前台可以直接看到正常的邮箱地址,但是源码中显示的却是转义后的邮箱地址。
  3. 效果验证:如上图所示,在文章和评论中直接输入邮箱地址,在前台都可以很直观看到邮箱地址,并且可以直接人工复制;在文章和评论源代码中显示的邮箱地址却是转化过的代码,说明已经起到保护邮箱地址作用了。

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

历史上的今天
十二月
23
    哇哦~~~,历史上的今天没发表过文章哦
赞(0) 打赏
分享到: 更多 (0)
版权声明
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自:灵阳星空 » WordPress防止站点的邮箱地址被恶意扫描收集
本文标题:WordPress防止站点的邮箱地址被恶意扫描收集
本文日期:本文发表于 2019/12/23 20:46:05,最后更新于 2019/12/23 20:49:02,如内容失效,请反馈给我们,谢谢!
本文地址: https://www.jsksky.com/automatically-hide-email-adresses-from-spambots-on-wordpress.html

网络臭虫

已发布163篇文章
吃得苦中苦,方为人上人,不卧薪藏胆,哪能苦尽甘来?点击进入我的网站了解更多有关我的信息。

评论 抢沙发

评论前必须登录!

 


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏