WordPress垃圾评论防护

20221016:
昨天晚上刚发了篇文字,垃圾评论就跟来了。其实也可以直接关闭评论,不过有点气不过啊。
搞一搞,后面看看做成个插件。当然网上已经有各种插件了,当乐趣玩玩。


文件修改点:
functions.php  增加一个函数
wp-comments-post.php 在主程序执行前,增加函数的调用判断

逻辑修改点:
判断评论内容中英文比例
基本恶意关键字防护

20230124:
几乎每天都收到垃圾评论提醒,今天终于排上时间看一看。
原来因为改的是WP核心文件,每次WP自动升级后就把之前的代码覆盖了。

重写了一遍
国外垃圾评论拦截

/**
* wp-comments-post.php 
* strlen英文长度1,中文长度3
* mb_strlen中英文都是算1
* 如果都是英文,则len1=len2。如果全是中文,则len1/3=len2
* 要求中文大于60%:len2/len1<0.46,英文越多,占比越大 */ 
$at_comment_content = $_POST['comment']; 
$len_1=strlen($at_comment_content); 
$len_2=mb_strlen($at_comment_content); //0.55 约是50% 
if($len_2==0||($len_2/$len_1)>0.55){
echo "RULE01-1:留言字数不合规,系统拦截不记录($len_1 / $len_2)";
exit;
}