新浪云计算SAE免费申请使用及域名绑定(5)

时间:2016-09-24 05:16:46 

7、基于主机的访问控制

语法:

- hostaccess: if (CONDITION) deny IP

- hostaccess: if (CONDITION) allow IP

if语句只支持单个CONDITION。

IP需要加引号,IP可以是一个或多个ip地址、all(所有IP地址)、 CIDR (如108.192.8.0/24),具体可以参考Apache配置,allow是白名单,deny是黑名单。

例子:

# 禁止127.0.0.1 访问private目录

- hostaccess: if (%{REQUEST_URI} ~ "/private/") deny "127.0.0.1"

# 只允许127.0.0.1 访问.conf结尾的文件

- hostaccess: if (%{REQUEST_URI} ~ ".conf$") allow "127.0.0.1"

# 禁止127.0.0.1 的所有访问(这个要慎用)

- hostaccess: deny "127.0.0.1"

# 对cron任务保护,防止被外部抓取,我们将cron任务放在cron目录下(sae中cron服务执行时,走的是内部网络)

- hostaccess: if (%{REQUEST_URI} ~ "/cron/") allow "10.0.0.0/8" 允许10打头的所有IP

# 对于屏蔽一组IP地址,可以写成子网掩码形式,或者将多个IP之间加以空格。子网掩码形式如下:

- hostaccess: if (%{REQUEST_URI} ~ "/cron/") deny "108.192.8.0/24" 屏蔽108.192.8打头的所有IP

# 允许108.134.13.24和108.122.122.13这两个IP

- hostaccess: allow "108.134.13.24 108.122.122.13"

8、HTTP基础认证

语法:

- passwdaccess: passwd "USERNAME:PASSWORD..."

- passwdaccess: if (CONDITION) passwd "USERNAME:PASSWORD..."

例子:

# 所有访问都要密码,允许用户writer用密码123zxc访问

- passwdaccess: passwd "write:123zxc"

# 访问secret目录需要密码,允许用户test用密码123qwe访问,用户coder用密码123asd访问

- passwdaccess: if (%{REQUEST_URI} ~ "/secret/") passwd "test:123qwe coder:123asd"

# 访问.text结尾的文件需要密码,允许用户writer用密码123zxc

- passwdaccess: if (%{REQUEST_URI} ~ ".text$") passwd "writer:123zxc"

# 用户的网站后台程序都放在admin目录下,需要对admin目录做密码保护

- passwdaccess: if (%{REQUEST_URI} ~ "/admin/") passwd "admin:admin123"

if语句中只支持单个CONDITION ,%{REQ:HEADER_NAME}, %{REQUEST_URI}可以出现在CONDITION中,只支持字符串和正则匹配。

看不过瘾?点击下面链接!
本站微信公众号:gsjx365,天天有好故事感动你!

上一页123456下一页

相关电脑知识

美图欣赏

电脑知识排行榜