首页 » Web前端 » php屏障特别汉字技巧_纯代码实现彻底樊篱WordPress站点垃圾评论

php屏障特别汉字技巧_纯代码实现彻底樊篱WordPress站点垃圾评论

访客 2024-11-04 0

扫一扫用手机浏览

文章目录 [+]

禁止造孽词汇评论提交到数据库的方法:

1、将以下代码放到当前主题的functions.php文件末了一个?>的前面:

php屏障特别汉字技巧_纯代码实现彻底樊篱WordPress站点垃圾评论

//屏蔽关键词,email,url,ip

php屏障特别汉字技巧_纯代码实现彻底樊篱WordPress站点垃圾评论
(图片来自网络侵删)

function Shield_fuckspam($comment) {

if (wp_blacklist_check($comment['comment_author'], $comment['comment_author_email'], $comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'])) {

header(\公众Content-type: text/html; charset=utf-8\"大众);

err(__('不好意思,您的评论违反龙砚庭博客评论规则'));

} else {

return $comment;

}

}

add_filter('preprocess_comment', 'Shield_fuckspam');

2、在WordPress后台“设置” > “谈论” > 评论黑名单中添加相应的垃圾评论关键词即可。
如在黑名单中添加“信用卡”,那么当评论的内容、评论者名称、URL、电子邮件或IP地址中包含个中任何关键字(如信用卡)时,系统将会禁止提交到数据库。

如此,我们至少可以舒心很多啦,由于很多垃圾评论的人大多不走心,如果他们走心了,花点心思来恳切评论,不正解释了我们的代码起浸染啦!

其他防WordPress垃圾评论的代码:

接下来再分享几段实用的小代码,合营利用也是能够起到拦截垃圾评论的浸染,以下代码同样扔到函数文件即可(如functions.php 我多实在的人啊,每次都要提醒是哪个常用的函数文件):

1、过滤外文(如纯英文或日文)评论

function refused_spam_comments($comment_data) {

$pattern = '/[一-龥]/u';

$jpattern = '/[ぁ-ん]+|[ァ-ヴ]+/u';

if (!preg_match($pattern, $comment_data['comment_content'])) {

err(__('来一波汉字吧,苦逼的庭主只认识汉字!
You should type some Chinese word!'));

}

if (preg_match($jpattern, $comment_data['comment_content'])) {

err(__('体谅庭主吧,这货只听得懂岛国神片的一两句雅蠛蝶 Japanese Get out!
日本语出て行け!
You should type some Chinese word!
'));

}

return ($comment_data);

}

add_filter('preprocess_comment', 'refused_spam_comments');

2、屏蔽长连接评论

function lang_url_spamcheck($approved, $commentdata) {

return (strlen($commentdata['comment_author_url']) > 50) ?

'spam' : $approved;

}

add_filter('pre_comment_approved', 'lang_url_spamcheck', 99, 2);

3、屏蔽昵称,评论内容带链接的评论

function Shield_link($comment_data) {

$links = '/http:\/\/|https:\/\/|www\./u';

if (preg_match($links, $comment_data['comment_author']) || preg_match($links, $comment_data['comment_content'])) {

err(__('别啊,昵称和评论里面添加链接会有身的哟!

'));

}

return ($comment_data);

}

add_filter('preprocess_comment', 'Shield_link');

Ps:以上三段代码,末了两条选其一就行了,部分功能重复了,由于屏蔽了长链接自然也屏蔽了评论内容带链接的评论。

4、限定评论最少字数和最多字数

function limit_comment_length( $commentdata ) {

$minCommentlength = 5; //最少字数限定

$maxCommentlength = 200; //最多字数限定

$pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 1个中笔墨符当作1个长度

if ( $pointCommentlength < $minCommentlength )

{

header(\公众Content-type: text/html; charset=utf-8\"大众);

wp_die('抱歉,您的评论太短了,请至少输入' . $minCommentlength .'个字(已输入'. $pointCommentlength .'个字)');

exit;

}

if ( $pointCommentlength > $maxCommentlength )

{

header(\"大众Content-type: text/html; charset=utf-8\公众);

wp_die('抱歉,您的评论太长了,请少于' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)');

exit;

}

return $commentdata;

}

add_filter( 'preprocess_comment', 'limit_comment_length' );

限定字数代码来自:欲思博客

总结:

唉,垃圾评论这种东西是杜绝不了的,只能适当防御。
以上的代码是我最喜好的几段代码之一,由于早上古今兄在群里提及垃圾评论的对付方法,以是我就分享一下教程,毕竟好的代码要广而告之,只有这样才会有更好、更实用的代码出身。

WordPress要多折腾才会好玩,这样能够保持我们的激情!

测试结果:

经由boke112测试,结合禁止造孽词汇评论提交到数据库的代码和过滤外文(如纯英文或日文)评论的代码,本站已基本上没有了垃圾评论,平时每天的评论回收站都能收到很多垃圾评论,现在都为0了。

以是说,只需将本文的代码添加到WordPress站点的functions.php文件中,基本上能够屏蔽绝大部分垃圾评论,这样我们就可以放心停用那些评论验证码之类的插件了。
当然,我们还须要持续不断地给评论黑名单中添加新内容,这样防御力度才会更加刁悍。

本文为投稿文章,感谢 龙砚庭博客 的投稿,版权归原作者所有

标签:

相关文章

QQ伪装黑客代码大全技术与风险警示

网络安全问题日益凸显。QQ作为一种流行的社交工具,成为了黑客攻击的主要目标之一。本文将针对QQ伪装黑客代码大全进行深入剖析,揭示其...

Web前端 2025-03-02 阅读1 评论0