AI智能
改变未来

禁用xmlrpc.php防止WordPress被CC攻击 以及Location规则

用Wordpress搭建网站的朋友,可能都遇到过/xmlrpc.php文件被扫描恶意访问。利用xmlrpc.php提供的接口尝试暴力猜测用户密码,所以一般我们最好禁止访客访问xmlrpc.php这个访问。

如何禁止访问xmlrpc.php ?

如何是ngingx的话,我们可以直接添加规则:

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

apache环境禁止访问xmlrpc.php

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

可以在WP后台外观 -主题编辑器- functions.php添加

add_filter('xmlrpc_enabled', '__return_false');
wordpress

Location语法规则:

符号含义
== 开头表示精确匹配
^~^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)
~~ 开头表示区分大小写的正则匹配
~*~* 开头表示不区分大小写的正则匹配
!~ 和 !~*!~ 和 !~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/用户所使用的代理(一般为浏览器)
$http_x_forwarded_for可以记录客户端IP,通过代理服务器来记录客户端的ip地址
$http_referer可以记录用户是从哪个链接访问过来的

一些Location示例

禁止直接访问某些文件

比如禁止访问.rar .zip .bak等结尾的文件


    location ~* \.(rar|zip|bak)$ {
               deny all;
    }

比如禁止访问某些目录

    location ~* /(backup|shell|config) {
    deny all;
    }
location = / {
          #规则A
      }
      location = /login {
          #规则B
      }
      location ^~ /static/ {
          #规则C
      }
      location ~ \.(gif|jpg|png|js|css)$ {
          #规则D
      }
      location ~* \.png$ {
          #规则E
      }
      location !~ \.xhtml$ {
          #规则F
      }
      location !~* \.xhtml$ {
          #规则G
      }
      location / {
          #规则H
      }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~* 开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

=====

location = / {
}

只匹配 / 查询。
location / {
}

匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。

location ^~ /images/ {

}

匹配任何以 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。

location ~*.(gif|jpg|jpeg)$ {

}

匹配任何以 gif、jpg 或 jpeg 结尾的请求。

location ~*.(gif|jpg|swf)$ {
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if ($invalid_referer) {

rewrite ^/ http://www.xxx.com/logo.png;

}
}

防盗链

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 禁用xmlrpc.php防止WordPress被CC攻击 以及Location规则