最近一段时间经常有朋友跟我反应博客访问速度较慢,我自己也有所感觉,在宝塔面板查看云服务器资源,发现内存使用率和CPU使用率都比较高,尤其是内存几乎达到了80%。通过查看服务器日志发现网站存在大量的垃圾流量访问,很多是访问xmlrpc.php的,xmlrpc.php是 WordPress 为手机等客户端提供接口的一个文件,可被用来DDOS攻击导致占用资源过高。xmlrpc.php攻击可以绕过使用用户名登陆限制,进行暴力破解。
那么我们如何可以禁用xmlrpc.php,从而阻止这些无效访问呢?有以下几种方法:
一、修改主题functions.php文件
1、在文件内添加以下代码:
//禁用XML-RPC接口 add_filter('xmlrpc_enabled', '__return_false');
2、还可以用代码转向任意网址:
add_action('login_enqueue_scripts','login_protection'); function login_protection(){ if($_GET['root'] != 'zhuanxiang')header('Location: http://任意其他网站或者网站首页/'); }
然后我们自己登录时需要用:网站域名/wp-login.php?root=zhuanxiang,这个网址访问后台。
3、只关闭XML-RPC的pingback 端口
如果你还是用使用第三方客户端来管理Wordpress文章,那么可以只关闭XML-RPC的pingback 端口
//禁用XML-RPC的pingback接口 add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' ); function remove_xmlrpc_pingback_ping( $methods ) { unset( $methods['pingback.ping'] ); return $methods; }
以上代码放到主题的functions.php文件即可。
二、修改.htaccess文件
1、加入以下代码:
# protect xmlrpcOrder Deny,Allow Deny from all
2、还可以让访问转向其他网址:
# protect xmlrpcRedirect 301 /xmlrpc.php http://baidu.com
三、修改服务器配置
1、nginx配置禁止访问该文件:
location ~* /xmlrpc.php { deny all; }
2、Apache配置禁止访问该文件:
Redirect 301 /xmlrpc.php http://baidu.com
通过以上几种方法都可以实现禁止xmlrpc.php恶意访问的目的,具体使用哪一种各位可以自己选择。
© 版权声明
【站长推荐】购买会员可免费下载全站资源。【提示】本站只提供资源,不提供技术支持,介意勿下!!【公告】没有基础小白不要下载,站长不教!!
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:jiebeih@foxmail.com
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:jiebeih@foxmail.com
THE END
暂无评论内容