有些时候,跟网友交流的过程中,你或者你的读者会无意在文章内容或评论中留下 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 地址被自动邮箱地址采集器收集走了,或者说发帖的人根本就是放下诱饵,存心就是在收集邮箱地址,你的邮箱地址经过层层倒手,垃圾邮件就源源不断地飘过来了。
其它参考
还没有人赞赏,快来当第一个赞赏的人吧!
本文转载自Ludou,本文观点不代表龙笑天下立场,版权归原作者所有,欢迎分享本文,转载请保留出处!
源代码确实看不到,但是 f12 可以看得到啊
@佛系软件F12 防不住~![[二哈] [二哈]](https://www.ilxtx.com/wp-content/themes/lxtx/assets/images/smilies/hashiqi.png)
过来关注下你
@乞丐欢迎![[鼓掌] [鼓掌]](https://www.ilxtx.com/wp-content/themes/lxtx/assets/images/smilies/gz.gif)
露兜是大神啊,12 年的时候就已经分享了这么给力的教程!
@橘子书眼神很犀利啊,居然看出是露兜的了~![[赞] [赞]](https://www.ilxtx.com/wp-content/themes/lxtx/assets/images/smilies/zan.gif)
@龙笑天不错不错。。。。。。。。。
@龙笑天
是正好吧,前阶段去整理本地头像缓存,刚好在露兜神那逗留一会儿!
我一直用着防采集邮箱的代码!有空试试你这个!
@明月登楼
其实之前我一直用的是
antispambot
这个函数,但没有本文的方法来的方便~过来露个脸!呵呵,刷刷存在感!
@明月学习笔记Blog非常赞的新博客,Typeecho 速度确实快~
这个方法不错,不影响用户体验,又能防止被采集,很给力
@boke112导航
实用就好~
学习使人进步,到此拜读!