用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');
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.pigji.com/logo.png;
}
}
防盗链