在宝塔控制面板网站监控报表中出现很多访问xmlrpc.php(403/GET)以及wp-comments-post.php(500/POST)的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
最近一直看一下流量的来源,当然也要看站内有啥访问的以及错误,嚯嚯,出现的错误还挺多,最多的是xmlrpc.php(403/GET)以及wp-comments-post.php(500/POST),这俩文件不是啥文件,但相对还需要这俩文件,先一个一个的说;
xmlrpc.php(403/GET)如下图:
用Wordpres程序的朋友应该都知道xmlrpc.php文件,它是我们客户端远程管理编辑网站、小程序等需使用的接口文件,但很多不良人士会利用xmlrpc.php文件来绕过Wordpress后台的登录错误限制进行爆破,消耗主机资源,大家可以用以下方法解决:
方法一:屏蔽 XML-RPC (pingback)的功能
在functions.php中添加。PS:很多主题已集成此代码。
add_filter('xmlrpc_enabled', '__return_false');
方法二:删除或清空xmlrpc.php文件内容
推荐清空文件内容,不建议删除xmlrpc.php文件,因为可能造成莫名其妙的错误。
方法三:利用配置文件直接拒绝访问或跳转
1、Nginx
location ~* /xmlrpc.php { deny all; }
或者跳转
location ~* /xmlrpc.php { proxy_pass https://www.baidu.com; }
2、apache
# protect xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
看我使用后的效果
或者跳转
# protect xmlrpc <IfModule mod_alias.c> Redirect 301 /xmlrpc.php https://www.baidu.com </IfModule>
但是像我这种需要这个接口用手机客户端的人来说,实在不妥,可以利用宝塔防火墙解决此问题。将/xmlrpc.php加入URL黑名单拒绝访问。PS:还有/wp-json也可以加进去。
wp-comments-post.php(500/POST)如下图:
wp-comments-post.php 在宝塔网站监控报表也是上榜的,wp-comments-post.php是wordpress的留言功能,话说老梁这里开启了留言必须要填写相关信息而且要完整才可以发布,肯定也不是谁在访问,更多的肯定是垃圾评论的扫描, 还好我已经设置了仅限含中文内容留言,不然得进来多少垃圾评论。
wordpress垃圾评论禁止方法:使wordpress垃圾评论消失的几种方法
老梁觉得只要使用以上方法屏蔽了无中文,不单一评论;完全可以不必担心被发帖机灌水评论。所以就无需禁止;敞开出现错误也没啥;不然还要修改一些乱七八糟的东西,太费劲;
wp-comments-post.php(500/POST)延伸阅读:
wp-comments-post.php 更名方法
一,将Wordpress程序根目录的wp-comments-post.php,随意修改一下名称比如改为:spam-pos.php;
二,因为在发表评论时需要读取上面更名的文件,所以还而修改相关模板,分两种情况:
1、主题使用非标准评论表单函数
打开你当前主题的评论模板文件:comments.php,查找:wp-comments-post.php并改为:spam-pos.php
2、主题使用标准评论表单函数
如果搜索评论模板 comments.php中找不到wp-comments-post.php,说明你的主题使用的是标准WP评论表单函数,那就需要打开wordpress程序wp-includes目录的comment-template.php文件,查找:wp-comments-post.php并改为:spam-pos.php
禁止访问wp-comments-post.php
在.htaccess或者配置文件中添加如下代码;
<Files wp-comments-post.php> Require all denied </Files>
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!