php阻止垃圾评论,wordpress阻止垃圾评论终极大招

该博客介绍了如何通过修改WordPress的wp-comments-post.php和functions.php文件,有效地阻止垃圾评论。主要方法包括检查请求方式、验证来源域名和评论内容是否包含中文,确保评论由真实用户在网站上手动提交。此外,还提供了一个预制信息提示和额外的HTTP响应代码来增强防护。
摘要由CSDN通过智能技术生成

垃圾评论太多,插件也不起作用。有效方法是修改wp-comments-post.php和模板的functions.php添加如下代码,基本上是只允许手工在本站页面提交评论才可以成功。思路是:请求方式不是post的,一律抛弃;域名来源不是本站的,一律抛弃;不含中文的,一律抛弃。

一、在wp-comments-post.php开头添加如下代码:if (!isset($_SERVER['REQUEST_METHOD']) || strcasecmp($_SERVER['REQUEST_METHOD'],'POST')) {

//echo 'the REQUEST_METHOD is get. STOP! STOP! STOP!';

http_response_code(400);

exit();

}

$domains=array('123.com','abc.com','域名3.com'); //自己网站的域名列表

$host_from="STOP";

if (isset($_SERVER['HTTP_REFERER'])) $host_from=parse_url($_SERVER['HTTP_REFERER'])['host'];

if (in_array($host_from,$domains)!=TRUE)

{

//echo 'ROBOT! STOP! STOP! STOP!';

http_response_code(400);

exit();

}

二、在functions.php结尾添加如下代码:/* 评论验证中文 */

function refused_spam_comments( $comment_data ) {

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

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

wp_die("亲,我们都是中国人,评论中没有汉字可不行!");

}

if(strpos($comment_data['comment_content'],"http")){

wp_die("亲,'http'是不被允许的!");

}

return( $comment_data );

}

add_filter('preprocess_comment','refused_spam_comments');

三、在模板comments.php里添加一个预制信息,比如:

然后在wp-comments-post.php开头添加验证

if ($_POST["xxx"]!="xxx")

{

echo "不明来源!";

exit();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值