Apache禁止或允许固定IP访问特定目录、文件、URL
1. 禁止访问某些文件/目录
增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:
1 |
<Files ~ "\.inc$" > |
2 |
Order allow,deny |
3 |
Deny from all |
4 |
</Files> |
2.禁止访问某些指定的目录:(可以用 来进行正则匹配)
1 |
<Directory ~ "^/var/www/(.+/)*[0-9]{3}" > |
2 |
Order allow,deny |
3 |
Deny from all |
4 |
</Directory> |
3.通过文件匹配来进行禁止,比如禁止所有针对图片的访问
1 |
<FilesMatch \.(?i:gif|jpe?g|png)$> |
2 |
Order allow,deny |
3 |
Deny from all |
4 |
</FilesMatch> |
4.针对URL相对路径的禁止访问
1 |
<Location / dir /> |
2 |
Order allow,deny |
3 |
Deny from all |
4 |
</Location> |
5.针对代理方式禁止对某些目标的访问( 可以用来正则匹配),比如拒绝通过代理访问cnn.com
6. 禁止某些IP访问/只允许某些IP访问
如果要控制禁止某些非法IP访问,在Directory选项控制:
1 |
<Directory "/var/www/web/" > |
2 |
Order allow,deny |
3 |
Allow from all |
4 |
Deny from 10.0.0.1 #阻止一个IP |
5 |
Deny from 192.168.0.0/24 #阻止一个IP段 |
6 |
</Directory> |
7.只允许某些IP访问,适合比如就允许内部或者合作公司访问
01 |
<Directory "/var/www/web/" > |
02 |
Order deny,allow |
03 |
Deny from all |
04 |
All from example.com #允许某个域名 |
05 |
All from 10.0.0.1 #允许一个iP |
06 |
All from 10.0.0.1 10.0.0.2 #允许多个iP |
07 |
Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对 |
08 |
All from 10.0.1 192.168 #允许一个IP段,后面不填写 |
09 |
All from 192.168.0.0/24 #允许一个IP段,网络号 |
10 |
</Directory> |