WordPress 防止邮箱采集器收集文章和评论中的 Email 地址

有些时候,跟网友交流的过程中,你或者你的读者会无意在文章内容或评论中留下 Email 地址,这样可能遭遇的问题…

WordPress 防止邮箱采集器收集文章和评论中的 Email 地址

有些时候,跟网友交流的过程中,你或者你的读者会无意在文章内容或评论中留下 Email 地址,这样可能遭遇的问题是,你的 Email 地址就会被邮箱地址采集器收集走,垃圾邮件就会像洪水一样涌来。

.singlemiddle-banner{margin-left:auto;margin-right:auto;overflow: hidden;}

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

实现方法

将以下 php 代码复制粘贴到你的当前主题的 functions.php 中,一旦保存,WordPress 就会自动帮你转义文章内容和评论内容中的 Email 地址(不会影响其他地方的 Email):

/**
* WordPress 防止邮箱采集器收集文章和评论中的 Email 地址
* https://www.ilxtx.com/automatically-hide-email-adresses-from-spambots-on-wordpress.html
*/
function lxtx_security_remove_emails($content) {
    $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4})/i';
    $fix = preg_replace_callback($pattern, "lxtx_security_remove_emails_logic", $content);
    return $fix;
}
function lxtx_security_remove_emails_logic($result) {
    return antispambot($result[1]);
}
add_filter( 'the_content', 'lxtx_security_remove_emails', 20 );
add_filter( 'comment_text', 'lxtx_security_remove_emails', 20 );

使用说明

添加以上代码后,你可以尝试你的某篇文章中输入一个 Email 地址,更新后查看这篇文章的源代码,就会看到转义后的邮箱地址。

如 Email 地址:john@a.com

转义后,源代码中看到的是: john@a.com (具体效果请查看本文源代码哦~)

邮箱地址采集器都是通过源代码来采集 Email 地址的,转义后的内容对它们来说几乎是无法识别的。虽然在源代码中你会看到一堆乱码,但是你的文章和评论中,我们还是可以看到正常的 Email 地址,并可以自由地复制的。

补充内容

你可能遇到过这样的事情,某人发帖声称他手里有某个东西可以提供下载,但是必须留下你的邮箱,他再发给你。这时候如果你特别需要这个东西,你可能就会留下你的邮箱地址。可结果呢,你想要的东西可能发给你了,但是垃圾邮件却像洪水一样涌来。

出现这样的情况,其原因在于你的 Email 地址被自动邮箱地址采集器收集走了,或者说发帖的人根本就是放下诱饵,存心就是在收集邮箱地址,你的邮箱地址经过层层倒手,垃圾邮件就源源不断地飘过来了。

其它参考

WordPress 防止机器人扫描邮箱
antispambot / WordPress 常用函数

类别:WordPress函数讲解

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册