文档章节

Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

野雪球
 野雪球
发布于 11/19 23:19
字数 739
阅读 11
收藏 3

防盗链配置

  • 通过限制referer来实现防盗链的功能
  • 配置前,使用curl -e 指定referer
[root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg" -I
HTTP/1.1 200 OK
Date: Mon, 19 Nov 2018 22:18:28 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Last-Modified: Mon, 19 Nov 2018 00:30:17 GMT
ETag: "0-57af99f141942"
Accept-Ranges: bytes
Cache-Control: max-age=86400
Expires: Tue, 20 Nov 2018 22:18:28 GMT
Content-Type: image/jpeg

[root@test-a test-webroot]# curl -e "http://www.qq.com/1.html" -x127.0.0.1:80 "www.qq.com/1.jpg" -I
HTTP/1.1 200 OK
Date: Mon, 19 Nov 2018 22:19:35 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Last-Modified: Mon, 19 Nov 2018 00:30:17 GMT
ETag: "0-57af99f141942"
Accept-Ranges: bytes
Cache-Control: max-age=86400
Expires: Tue, 20 Nov 2018 22:19:35 GMT
Content-Type: image/jpeg
  • 配置,/usr/local/apache2.4/conf/extra/httpd-vhosts.conf对应的虚拟网站增加如下内容,SetEnvIfNoCase Referer增加的是白名单
<Directory "/usr/local/apache2.4/test-webroot">
    SetEnvIfNoCase Referer "http://www.test.com" local_ref
    SetEnvIfNoCase Referer "http://test.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>
  • 重新加载配置,测试
[root@test-a test-webroot]# /usr/local/apache2.4/bin/apachectl graceful
[root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg" -I
HTTP/1.1 200 OK
Date: Mon, 19 Nov 2018 22:26:15 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Last-Modified: Mon, 19 Nov 2018 00:30:17 GMT
ETag: "0-57af99f141942"
Accept-Ranges: bytes
Cache-Control: max-age=86400
Expires: Tue, 20 Nov 2018 22:26:15 GMT
Content-Type: image/jpeg

[root@test-a test-webroot]# curl -e "http://www.qq.com/1.html" -x127.0.0.1:80 "www.qq.com/1.jpg" -I  # 403错误
HTTP/1.1 403 Forbidden
Date: Mon, 19 Nov 2018 22:26:17 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Content-Type: text/html; charset=iso-8859-1

Directory访问控制

  • 配置前
[root@test-a ~]# curl  -x127.0.0.1:80 www.test.com/admin/index.php
This is admin/index.php
[root@test-a ~]# curl  -x192.168.77.139:80 www.test.com/admin/index.php
This is admin/index.php
  • 配置, /usr/local/apache2.4/conf/extra/httpd-vhosts.conf对应的虚拟网站增加如下内容
Directory /usr/local/apache2.4/test-webroot/admin>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 # 只允许本机的127.0.0.1访问
</Directory>
  • 重新加载,测试
[root@test-a ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@test-a ~]# curl  -x127.0.0.1:80 www.test.com/admin/index.php
This is admin/index.php
[root@test-a ~]# curl  -x192.168.77.139:80 www.test.com/admin/index.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /admin/index.php
on this server.<br />
</p>
</body></html>

FilesMatch访问控制

  • 配置前
[root@test-a ~]# curl  -x192.168.77.139:80 www.test.com
It works!
[root@test-a ~]# curl  -x127.0.0.1:80 www.test.com
It works!
  • 配置,/usr/local/apache2.4/conf/extra/httpd-vhosts.conf对应的虚拟网站增加如下内容
<Directory /usr/local/apache2.4/test-webroot/>
    <FilesMatch index.html(.*)>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </FilesMatch>
</Directory>
  • 重新加载配置,访问测试
[root@test-a ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@test-a ~]# curl  -x192.168.77.139:80 www.test.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
</body></html>
[root@test-a ~]# curl  -x127.0.0.1:80 www.test.com
It works!
[root@test-a ~]# curl  -x127.0.0.1:80 'www.test.com/index.html?a=123'
It works!
[root@test-a ~]# curl  -x192.168.77.139:80 'www.test.com/index.html?a=123'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /index.html
on this server.<br />
</p>
</body></html>

© 著作权归作者所有

共有 人打赏支持
野雪球
粉丝 7
博文 60
码字总数 67883
作品 0
贵阳
私信 提问
11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch

11.25 配置防盗链 防盗链能限制不认识的referer的访问,能够禁止别人的服务器引用或转发服务器上的内容,这样可以防止别人盗用服务器上的资源,服务器的资源被盗用会导致网络带宽的使用量上升...

aaaaaatree
03/05
0
0
43.配置防盗链 访问控制Directory及FilesMatch

11.25 配置防盗链 11.26 访问控制Directory(针对一个目录做限制) 11.27 访问控制FilesMatch(针对一个文件或链接做限制) 扩展 几种限制ip的方法 http://ask.apelearn.com/question/6519 ...

王鑫linux
08/06
0
0
11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMat

11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch...

wb_rambo123
03/07
0
0
45、Aapache的防盗链及访问控制(Directory、FileMatch)

1、配置防盗链:免费网络或者论坛,有时候如果网站流量偏高,抓包发现是图片的流量居多,发现是从某个站点连接跳过来的,原来是我们的网站,被用户上传了许多色情图片,而用户又在他自己的网站上加...

芬野de博客
10/08
0
0
5月31日任务配置防盗链、访问控制Directory、访问控制FilesMatch

11.25 配置防盗链 <Directory /data/wwwroot/abc.com> SetEnvIfNoCase Referer "http://www.abc.com" local_ref SetEnvIfNoCase Referer "http://abc.com" local_ref SetEnvIfNoCase Referer......

吕湘颖
05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mac 下 mysql 8.0.13 安装并记录遇到的问题 以便以后查看

安装 官网mysql 下载地址 安装过程 省去 安装好之后 下载navicat 错误1 链接 遇到 mysql 2003 - Can't connect to MySQL server 错误, 解决方案 重启mysql 服务 #错误2 ERROR 1045: Acces...

杭州-IT攻城狮
昨天
4
0

中国龙-扬科
昨天
1
0
[Spring4.x]基于spring4.x纯注解的Web工程搭建

在前文中已经说明了如何基于 Spring4.x+ 版本开发纯注解的非web项目,链接如下: https://my.oschina.net/morpheusWB/blog/2985600 本文则主要说明,如何在Web项目中,"基于spring纯注解方式...

morpheusWB
昨天
13
0
基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
昨天
5
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部