WordPress安全总是我们最值得看中的,当你默默无闻的时候,很多人懒得理你,但是网站做到一定地步的时候,就会有很多黑客通过各种方式去攻击网站,所以在服务器不能立马改变的情况下,我们可以对wordpress做一些基础性的防护,至少可以防护80%的ddos、cc攻击了~

xmlrpc.php文件的作用

开发XML-RPC WordPress规范是为了标准化不同系统之间的通信,这意味着WordPress外部的应用程序(例如其他博客平台和桌面客户端)可以与WordPress进行交互。自WordPress诞生以来,该规范一直是WordPress的一部分,并且做得非常有用。没有它,WordPress将会处于自己的孤岛,与互联网的其余部分分离

安全漏洞

早在2012 年 12 月 17 日一些采用 PHP 的知名博客程序 WordPress被曝光存在严重的漏洞,该漏洞覆盖WordPress 全部已发布的版本(包括WordPress 3.8.1)。该漏洞的 WordPress 扫描工具也在很多论坛和网站发布出来。工具可以利用 WordPress 漏洞来进行扫描,也可以发起DDoS 攻击。经过测试,漏洞影响存在 xmlrpc.php 文件的全部版本,虽然经过wordpress官方多次升级,但是也不太安全,恶意程序会不断扫描这个文件造成服务器资源耗尽

注意事项

  • 如果网站程序使用pingback功能的话,屏蔽xmlrpc.php将导致功能无法使用
  • 使用JetPack之类的插件,再删除xmlrpc.php后将导致网站异常
  • 旧版本Wordpress部分组件依赖于xmlrpc.php,删除后将导致一些很奇怪的问题

方法一:屏蔽xmlrpc的功能

将下面代码添加至主题文件functions.php中,许多主题已集成此功能

add_filter('xmlrpc_enabled', '__return_false');

方法二:清空或删除xmlrpc.php文件

建议清空文件内容让xmlrpc.php变成一个空文件,这样就可以避免一些莫名其妙的错误

方法三:利用配置文件直接拒绝访问或跳转

Nginx

location ~* /xmlrpc.php {
  deny all;
}

或者

location ~* /xmlrpc.php {
  proxy_pass https://www.baidu.com;
}

Apcache

# 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文件清空,省事又不容易出现问题

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。