43.防盗链配置访问控制Directory访问控制FilesMatch
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了43.防盗链配置访问控制Directory访问控制FilesMatch相关的知识,希望对你有一定的参考价值。
一、防盗链配置
- HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站
- 通过限制referer来实现防盗链的功能
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
配置文件增加如下内容
<Directory /data/wwwroot/123.com>
SetEnvIfNoCase Referer "http://www.123.com" local_ref
SetEnvIfNoCase Referer "http://123.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
</Directory>
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
- curl -e "http://www.aminglinux.com/123.html" 自定义referer
curl -e "http://www.baidu.com/123.html" -x127.0.0.1:80 www.123.com/images/123.jpg -I
- curl测试状态码为403则被限制访问了
curl -e "http://www.123.com/123.html" -x127.0.0.1:80 www.123.com/images/123.jpg -I
- order决定顺序,以及最终结果,上面是先allow然后再deny,由于无deny选项,所以最后结果是allow,只允许从本网站访问本网站的文件
二、访问控制 – Directory
- 只允许服务器本机ip访问某个目录
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
核心配置文件内容
<Directory /data/wwwroot/123.com/images/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
curl -x127.0.0.1:80 www.123.com/images/123.jpg -I
在本机浏览器测试
三、访问控制 – FilesMatch
- 只允许服务器本机ip访问某个文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
核心配置文件内容
<Directory /data/wwwroot/123.com>
<FilesMatch admin.php>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>
</Directory>
在浏览器测试123.com下其他文件可以打开,admin.php无法访问
curl -x127.0.0.1:80 www.123.com/admin.php -I
以上是关于43.防盗链配置访问控制Directory访问控制FilesMatch的主要内容,如果未能解决你的问题,请参考以下文章
配置防盗链 访问控制Directory 访问控制FilesMatch
11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMat
配置防盗链访问控制– Directory及访问控制 – FilesMatch
11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMat