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

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

11.25 配置防盗链

防盗链的功能可以通过限制referer来实现,不是本机服务器所认识的referer,不允许第三方服务器通过链接引用跳转至本机服务器进行访问。

修改虚拟主机配置文件

<Directory /data/wwwroot/def.com>                               //定义访问目录
        SetEnvIfNoCase Referer "http://def.com" local_ref       //设置referer白名单
        SetEnvIfNoCase Referer "http://www.def.com" local_ref   //设置referer白名单
        SetEnvIfNoCase Referer "^$" local_ref                   //设置referer白名单(空regerer)
        <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">          //定义防盗链需要防护的文件类型
            Order Allow,Deny                                    //访问控制规则
            Allow from env=local_ref
        </filesmatch>
</Directory>

空referer:直接在浏览器输入目的域名,则referer为空。

结果测试

154520_6sSo_3804357.png

从浏览器直接访问时(空referer),访问正常   测试 http://www.def.com/test.txt

 

170913_Kcyg_3804357.png

经过博客网站进行访问时,博客网站域名没有加入网站白名单,防盗链生效,访问被拒绝

curl -e "http://www.qq.com/123.html" -x 192.168.88.5:80 def.com/test.txt -I

HTTP/1.1 403 Forbidden
Date: Sun, 03 Jun 2018 09:19:19 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.32
Content-Type: text/html; charset=iso-8859-1

curl -e可以自定义referer,进行模拟测试。
11.26 访问控制Directory

访问控制可以限制一些白名单IP,只有白名单上的IP才可以进行正常访问,否则全部拒绝

修改虚拟主机配置文件

<Directory /data/wwwroot/def.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

Order用于定义顺序,上述文件中的顺序为先deny(禁止)后allow(允许),并且和防火墙规则匹配机制不同的是,下方具体规则的先后顺序和真正执行的顺序无关,且会按照从先至后依次全部匹配,按照上述文件的策略顺序,最终只有源IP为127.0.0.1才可以正常访问。

结果测试

[root@linux-5 admin]# curl -x 127.0.0.1:80 def.com/admin/test.php -I
HTTP/1.1 200 OK
Date: Sun, 03 Jun 2018 11:30:16 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.32
X-Powered-By: PHP/5.6.32
Cache-Control: max-age=0
Expires: Sun, 03 Jun 2018 11:30:16 GMT
Content-Type: text/html; charset=UTF-8

[root@linux-5 admin]# curl -x 192.168.88.5:80 def.com/admin/test.php -I
HTTP/1.1 403 Forbidden
Date: Sun, 03 Jun 2018 11:30:27 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.32
Content-Type: text/html; charset=iso-8859-1

虽然-x选项后面的IP地址为目的IP,但是127.0.0.1为主机回环IP,访问时也需要用127.0.0.1作为源IP进行访问,因此满足条件,可以正常访问。同理访问外部网卡地址也需要用外部网卡IP进行访问,不满足访问控制条件,因此无法访问。

11.27 访问控制FilesMatch

有时只需要限制某些访问链接,且访问链接中含有一些特殊符号(?、&等),对整个目录进行限制较不合理,可以使用FilesMatch进行限制。

修改虚拟主机配置文件

 <Directory /data/wwwroot/def.com>
        <FilesMatch  "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        </FilesMatch>
 </Directory>

使用.*代指PHP文件后所有特殊符号

测试结果 

[root@linux-5 admin]# curl -x 192.168.88.5:80 def.com/admin.php? -I
HTTP/1.1 403 Forbidden
Date: Sun, 03 Jun 2018 11:58:16 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.32
Content-Type: text/html; charset=iso-8859-1

[root@linux-5 admin]# curl -x 127.0.0.1:80 def.com/admin.php? -I
HTTP/1.1 200 OK
Date: Sun, 03 Jun 2018 11:58:34 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.32
X-Powered-By: PHP/5.6.32
Cache-Control: max-age=0
Expires: Sun, 03 Jun 2018 11:58:34 GMT
Content-Type: text/html; charset=UTF-8

转载于:https://my.oschina.net/u/3866935/blog/1922999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值