想必大家在建设自己Wordpress网站时候都遇到过垃圾评论,即使采用种种方法,依然可以看到海量垃圾评论充斥于自己的网站。为什么有这样的结果?其实有一种垃圾评论不是通过人工填写的,而是垃圾评论机器人自动发送的。
基本原理
垃圾评论机器人根本不需要填写表单,而是自动读取Wordpress程序文件wp-comments-pos.php实现自动留言。
解决办法
通过修改wp-comments-post.php文件,这种方法可以让垃圾评论机器人找不到入口,堵住源头防止垃圾评论骚扰。
具体操作(请在修改前备份您的相关数据库文件,切记!):
一,将Wordpress程序根目录的wp-comments-post.php,修改名称比如改为:xh-lm-comments-post.php;(此方法比较有效)
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
二,因为在发表评论时需要读取上面更名的文件,所以还而修改相关模板,分两种情况:
1、主题使用非标准评论表单函数
打开你当前主题的评论模板文件:comments.php,查找:wp-comments-post.php并改为:xh-lm-comments-post.php (目录为:web/wp-content/themes/dot-b/ ,此方法采纳)
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
2、主题使用标准评论表单函数
如果搜索评论模板 comments.php中找不到wp-comments-pos.php,说明你的主题使用的是标准WP评论表单函数,那就需要打开wordpress程序wp-includes目录的comment-template.php文件,查找:wp-comments-pos.php并改为:spam-pos.php (不建议)
三,编辑/wp-includes/comment-template.php,将如下命令:
<form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>>
替换成:
<form action="" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>> <script> document.getElementById('<?php echo esc_attr( $args['id_form'] ); ?>').action = "./submit-comments-ivanyin.php"; </script>
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved