IP限制

禁止某些IP访问/只允许某些IP访问

<Directory "/var/www/web/">
Order allow,deny
Allow from all
#可以定义多个 Deny from
#阻止一个IP
Deny from 10.0.0.1 

#阻止一个IP段
Deny from 192.168.0.0/24 

#禁止192.168.1.1-192.168.1.254段
deny from 192.168.1

#禁止从 66.249.79.32 到 66.249.79.47 的地址
Deny from 66.249.79.32/28
</Directory>

Deny from 66.249.79.32/28 拆解

采用了CIDR(Classless Inter-Domain Routing)表示法。

IP 地址部分:

66.249.79.32,它是一个 IPv4 地址。IPv4 地址由四个 8 位的组成,每个组用一个点分隔。

子网掩码部分:

/28,它表示子网掩码的长度。子网掩码的长度告诉我们有多少位是网络标识位,剩下的是主机标识位。

/28 表示前 28 位是网络标识位,后面的 4 位是主机标识位。

子网掩码  /28              的二进制表示是: 11111111.11111111.11111111.11110000

IP 地址 66.249.79.32 的二进制表示是: 01000010.11111001.01001111.00100000

逻辑与操作后得到的二进制结果是:       01000010.11111001.01001111.00100000

将结果转换回十进制得到网络地址:      66.249.79.32

子网大小是 2^4 = 16,所以地址范围是从 66.249.79.32 到 66.249.79.47。

计算子网的地址范围:地址范围的起始地址是网络地址,结束地址是网络地址加上子网大小减1的地址。

只允许某些IP访问,适合比如就允许内部或者合作公司访问

<Directory “/var/www/web/”>
Order deny,allow
Deny from all

#允许某个域名
All from example.com

#允许一个iP
All from 10.0.0.1

#允许多个iP
All from 10.0.0.1 10.0.0.2

#允许一个IP段,掩码对
Allow from 10.1.0.0/255.255.0.0

#允许一个IP段,后面不填写
All from 10.0.1 192.168

#允许一个IP段,网络号
All from 192.168.0.0/24
</Directory>

访问限制

禁止访问某些文件/目录

<Files ~ “\.inc$”>
Order allow,deny
Deny from all
</Files>

禁止访问某些指定的目录:(可以用 来进行正则匹配)

<Directory ~ “^/var/www/(.+/)*[0-9]{3}”>
Order allow,deny
Deny from all
</Directory>

禁止访问某些类型的文件,比如禁止所有针对图片的访问

<FilesMatch \.(?i:gif|jpe?g|png)$>
Order allow,deny
Deny from all
</FilesMatch>

禁止访问某些URL相对路径

<Location /dir/>
Order allow,deny
Deny from all
</Location>

禁止使用代理方式对某些目标的访问( 可以用来正则匹配),比如拒绝通过代理访问domain.com

<Proxy http://domain.com/*>
Order allow,deny
Deny from all
</Proxy>

Allow和Deny是什么?

Allow和Deny用来控制目录和文件的访问授权。可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等)。

order,顾名思义是顺序的意思,所以order命令可以决定deny和allow起作用的顺序,通俗的说就是谁排在最后那么谁就有最终的决定权

 

作者 admin

百度广告效果展示