虽然之前说了可以通过修改WordPress后台登录地址来让网站变得更安全.
WordPress安全:无插件修改WordPress后台登录地址
WordPress安全:修改WordPress后台登录地址wp-login
WordPress插件:修改WordPress后台登录地址wp-admin
修改wordpress后台登录地址wp-admin插件WPS Hide Login
但是还是会有很多人通过攻击XML-RPC服务让你的WordPress网站瘫痪.
控制大量的IP不停的访问WordPress的xmlrpc.php文件,造成服务器瘫痪,或者网站没什么访问量但是内存与CPU占用却超高.
XML-RPC 是 WordPress 用于第三方客户端(如 WordPress iPhone 和安卓客户端,Windows Live Writer 等)的 API 接口,还可以用于 pingbacks 和 trackbacks 端口,作为站点之间的通讯桥梁。
WordPress 源代码中已经包含了完整的 RPC 服务端代码,它支持对文章,媒体,留言,分类,选项等等各方面数据的管理。
简单说,你只要了解 XML-RPC 协议,可以使用 XML-RPC 对你的 WordPress 博客的各个方面进行操作,也就是说可以使用 XML-RPC 做 WordPress 的客户端。
在 WordPress 3.5 版本之前,XML-RPC 服务一直默认是的被禁用的,因为它会造成安全漏洞,比如垃圾留言和 Trackback Spam 等。但是 将改变这个设置。因为 WordPress 开发团队的努力,这一安全隐患被修正,所以 WordPress 索性默认将其开启,并且不在后台提供关闭选。
并且 WordPress 更新到 3.5 之后,数据库中的 “enable_xmlrpc” 选项字段也将被删除,这样即使你在之前把 XML-RPC 设置为关闭,到了 WordPress 3.5 之后,也将开启。
大多数网站应该都没有用到这个功能吧.
但是不要直接删除WordPress根目录的xmlrpc.php,否则它会让你的wordpress网站发生莫名的错误。
那么怎么关闭WordPress 禁用XML-RPC服务:
打开当前WordPress主题开发的functions.php文件,在<?php下面的?>前面添加如下代码:
//WordPress禁用XML-RPC接口服务 add_filter('xmlrpc_enabled', '__return_false');
如果你还是用使用第三方客户端来管理Wordpress文章,那么可以只关闭XML-RPC的pingback 端口.
打开当前WordPress主题开发的functions.php文件,在<?php下面的?>前面添加如下代码:
//禁用XML-RPC的pingback接口 add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' ); function remove_xmlrpc_pingback_ping( $methods ) { unset( $methods['pingback.ping'] ); return $methods; }
如果是Nginx环境,在伪静态规则: WordPress SEO伪静态规则设置Nginx与Apache和https伪静态规则
Nginx环境下面添加如下规则:
location ~* /xmlrpc.php { deny all; }
Apache环境下在根目录的htaccess文件里添加下面的规则:
# protect xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
或者如果有用户访问xmlrpc.php文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。
你可以跳转到某个文件的下载页面…
Apache环境下在根目录的htaccess文件里添加下面的规则: 跳转链接地址请自行修改
# protect xmlrpc <IfModule mod_alias.c> Redirect 301 /xmlrpc.php http://example.com/custom-page.php </IfModule>
Apache环境的WordPress伪静态如何添加?
新建一个txt文件,将Apache环境WordPress伪静态代码添加到文件中,然后另存为.htaccess文件,上传到WordPress站点的根目录即可。
仅能存在一个.htaccess文件
在functions.php中添加
//阻止WordPress的pingback端口 add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' ); function remove_xmlrpc_pingback_ping( $methods ) { unset( $methods['pingback.ping'] ); return $methods; }
安装Login Security Solution插件
总结: 如果是采用方法一关闭xmlrpc的话,简单直接.