11.25 配置防盗链
防止有人利用网站文件上传的功能,把一些静态媒体资源放到我们的网站上,然后在他们的网站上设置这些资源的链接到我们的网站上,当他们网站用户访问这些资源时,就会跳转到我们的服务器上,导致我们的服务器带宽流量异常增大。为了防止这种情况发生,我们利用apache服务器访问控制实现防盗链功能。
在httpd-vhosts.conf配置文件下进行设定:
<Directory /data/wwwroot/111.com>
SetEnvIfNoCase Referer "http://www.111.com" local_ref //指定referer白名单
SetEnvIfNoCase Referer "http://111.com" local_ref //指定referer白名单
SetEnvIfNoCase Referer "^$" local_ref //空的referer也能访问
<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)"> //使用文件匹配访问控制
Order Allow,Deny //访问控制顺序,先允许后拒绝。
Allow from env=local_ref //只有符合白名单上的referer才能访问111.com目录。
</FilesMatch>
</Directory>
验证效果。
curl -e “www.111.com” -x127.0.0.1:80 www.111.com/logo.jpg -I //-e选项是指定referer进行访问。
11.26 访问控制Directory
11.26 访问控制Directory 公司的内部网站可以设置访问控制,指定来源IP才能够访问
在httpd-vhosts.conf配置文件下进行设定:
<Directory /data/wwwroot/111.com> // 指定需要访问控制的网站的目录
Order deny,allow //访问控制的顺序,先所有都拒绝,然后再允许指定的ip。和iptables不同,可以全部规则都执行下去。
Deny from all // 拒绝所有的来源ip
Allow from 127.0.0.1 //指定允许访问的来源ip(指定网段也可以192.168.0.0/24)
</Directory>
11.27 访问控制FilesMatch
除了对整个网站的目录进行访问控制外,还可以对网站的指定某一个页面进行访问控制,例如只有指定的来源ip才能够访问后台管理的页面。
也是在httpd-vhosts.conf配置文件下进行设定:
<FilesMatch "admin.php(.*)"> //指定需要访问控制的页面
Order deny,allow //访问控制的顺序,先所有都拒绝,然后再允许指定的ip
Deny from all // 拒绝所有的来源ip
Allow from 127.0.0.1 //指定允许访问的来源ip(指定网段也可以192.168.0.0/24)
</FilesMatch>