Products
GG网络技术分享 2025-03-18 16:14 1
作者:悦然wordpress建站(悦然建站)
(此处已添加小程序,请到今日头条客户端查看)继续给大家分享wordpress建站教程,本文教大家屏蔽网站垃圾评论。今天分享的教程可能很我企业网站用不上,因为企业网站一般不需要评论,悦然网络工作室帮企业建站时也是会默认禁用评论功能的,这样可以省去很多麻烦。
下面直接分享再做代码:
下面这个代码主要是针对国内的网站,因为有些人遇到了网站被软件刷出大量评论的情况,而且大多数是英文、日文等,所以下面的代码主要作用就是屏蔽这些垃圾内容。
// 评论必须含中文
function wp_refused_spam_comments($comment_data) {
$pattern = '/[一-龥]/u';
$jpattern = '/[ぁ-ん]+|[ァ-ヴ]+/u';
if (!preg_match($pattern, $comment_data['comment_content'])) {
err(__('评论中需要有一个汉字!'));
}
if (preg_match($jpattern, $comment_data['comment_content'])) {
err(__('不能有日文!'));
}
return ($comment_data);
}
add_filter('preprocess_comment', 'wp_refused_spam_comments');
了解一点SEO的用户都知道网站外链建设的重要性,所以有些人会在评论中加入外链,或者是广告链接,这对我们自己的网站来说是不太好的,可能被造成权重流失,甚至可能因为这些链接导致网站被处罚。下面的代码功能就是直接屏蔽各种链接的。
//禁止发链接
function wp_comment_post( $incoming_comment ) {
$http = '/[href="|rel="nofollow"|http:\\/\\/|<\\/a>]/u';
if(preg_match($http, $incoming_comment['comment_content'])) {
err( "禁止发链接地址!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'wp_comment_post');把以上两段代码添加到当前主题模板的functions.php文件中就可以了,也可以添加到Code Snippets插件中。
Some Chinese Please插件可以拦截不带中文字的留言,本博客一直在用效果不错,不写入数据库,可有效地减少spam对服务器的无谓使用,其实可以将插件简化一下,直接用代码实现。
将下面代码加到主题functions模板文件中,效果与使用插件相同。
|
注:如果出现无效的情况,请将wp_die替换为err,否则显示错误信息时,会造成模版错位,其它使用ajax评论的主题也可参照修改。
其它一些写入数据库的防spam插件不建议使用, 比如WordPress官方的防垃圾插件Akismet会在数据库中留下大量的信息,增加服务器负担。
针对那些使用技术手段,比如GET、POST等方式不填写前台表单,直接读取后台程序文件的spam,只有屏蔽IP才能缓解疯狗一样的攻势,其它什么验证码、滑动解锁等等都没用。
可以在.htaccess文件中添加:
Order Deny,Allow Deny from xxx.xxx.xxx.xx Deny from xxx.xxx.xxx.xx |
Demand feedback