Apache配置——防盗链
2017-01-01 18:45
393 查看
防止盗用资源流量外泄
有的人会把一个站点的认为有用的或者好看图片或者其他的,就比如说把图片的地址会引用到其他的站点,但它实际走的流量是它图片所在地址的网站,而不是所引用到的站点,如果访问量特别大的话,就会对网站的带宽有很大消耗,这种情况,就作一个限制,防止网站图片被盗用,这就叫做防盗链。
## 假如说正常的话应该是www.test.com,若不是这个,则网页中的图片就不会显示。
[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
## 检查并重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 查看网页
## 若设置白名单的时候,一定要写上自己网站的,这样就防止自己的资源被盗
[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref
SetEnvIfNoCase Referer ".*\.aaa\.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|jpeg|png|gif|js|css)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
解释说明:
SetEnvIfNoCase Referer 设置匹配条件的Referer
local_ref 别名、标记
^$表示为空
Order Allow,Deny 设置出发顺序
Allow from env=local_ref 设置白名单
<filesmatch></filesmatch> 文件匹配标签
注:视频里老师讲的网址中的 . 用了\来转义,加,实验也能运行出来;但最好加上。
## 检查并重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 查看网页
## 用curl -e 来测试
[root@wy ~]# curl -e "www.baidu.com" -xlocalhost:80 www.test.com/static/image/common/logo.png -I
HTTP/1.1 403 Forbidden
Date: Sat, 05 Nov 2016 17:03:27 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Content-Type: text/html; charset=iso-8859-1
## curl -e 测试,用设置的白名单
[root@wy ~]# curl -e "www.aaa.com" -xlocalhost:80 www.test.com/static/image/common/logo.png -I
HTTP/1.1 200 OK
Date: Sat, 05 Nov 2016 17:03:13 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Last-Modified: Thu, 04 Sep 2014 03:22:34 GMT
ETag: "20a24-1149-50234dd113280"
Accept-Ranges: bytes
Content-Length: 4425
Cache-Control: max-age=86400
Expires: Sun, 06 Nov 2016 17:03:13 GMT
Content-Type: image/png
有的人会把一个站点的认为有用的或者好看图片或者其他的,就比如说把图片的地址会引用到其他的站点,但它实际走的流量是它图片所在地址的网站,而不是所引用到的站点,如果访问量特别大的话,就会对网站的带宽有很大消耗,这种情况,就作一个限制,防止网站图片被盗用,这就叫做防盗链。
## 假如说正常的话应该是www.test.com,若不是这个,则网页中的图片就不会显示。
[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
## 检查并重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 查看网页
## 若设置白名单的时候,一定要写上自己网站的,这样就防止自己的资源被盗
[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref
SetEnvIfNoCase Referer ".*\.aaa\.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|jpeg|png|gif|js|css)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
解释说明:
SetEnvIfNoCase Referer 设置匹配条件的Referer
local_ref 别名、标记
^$表示为空
Order Allow,Deny 设置出发顺序
Allow from env=local_ref 设置白名单
<filesmatch></filesmatch> 文件匹配标签
注:视频里老师讲的网址中的 . 用了\来转义,加,实验也能运行出来;但最好加上。
## 检查并重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 查看网页
## 用curl -e 来测试
[root@wy ~]# curl -e "www.baidu.com" -xlocalhost:80 www.test.com/static/image/common/logo.png -I
HTTP/1.1 403 Forbidden
Date: Sat, 05 Nov 2016 17:03:27 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Content-Type: text/html; charset=iso-8859-1
## curl -e 测试,用设置的白名单
[root@wy ~]# curl -e "www.aaa.com" -xlocalhost:80 www.test.com/static/image/common/logo.png -I
HTTP/1.1 200 OK
Date: Sat, 05 Nov 2016 17:03:13 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Last-Modified: Thu, 04 Sep 2014 03:22:34 GMT
ETag: "20a24-1149-50234dd113280"
Accept-Ranges: bytes
Content-Length: 4425
Cache-Control: max-age=86400
Expires: Sun, 06 Nov 2016 17:03:13 GMT
Content-Type: image/png
相关文章推荐
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
- apache 配置图片防盗链
- apache配置防盗链
- Apache配置之设置防盗链
- Apache配置防盗链
- apache 通过urlrewrite防盗链功能配置
- LAMP第二部分apache配置2(访问日志切割 and 配置静态文件缓存 and配置防盗链)
- Apache配置防盗链
- Apache配置防盗链
- LAMP 2.3 Apache配置防盗链
- apache防盗链实现和目录权限配置
- Apache配置用户认证、域名跳转、日志轮询、静态文件缓存、防盗链
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
- Apache配置域名跳转、日志切割、静态缓存、防盗链
- apache 防盗链,缓存,不缓存的配置
- Apache和Nginx防盗链的几种配置方法
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能
- Apache和Nginx防盗链的几种配置方法
- Linux-CentOS XAMPP Apache 防盗链模块mod_auth_token的安装配置