WordPress 防止邮箱采集器收集文章和评论中的 Email 地址
有些时候,跟网友交流的过程中,你或者你的读者会无意在文章内容或评论中留下 Email 地址,这样可能遭遇的问题…
有些时候,跟网友交流的过程中,你或者你的读者会无意在文章内容或评论中留下 Email 地址,这样可能遭遇的问题是,你的 Email 地址就会被邮箱地址采集器收集走,垃圾邮件就会像洪水一样涌来。
幸好 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 常用函数
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!