首页 > 其他分享 >11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch

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

时间:2022-10-13 21:03:31浏览次数:77  
标签:FilesMatch 访问控制 访问 referer 2018 PHP com admin 防盗链

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为空。



结果测试

11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch_白名单

从浏览器直接访问时(空referer),访问正常

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

11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch_白名单_03

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

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

 

标签:FilesMatch,访问控制,访问,referer,2018,PHP,com,admin,防盗链
From: https://blog.51cto.com/u_13622854/5754604

相关文章

  • PostgreSQL数据库用户权限管理ACL访问控制示例
    ACL权限缩写权限缩写适用对象类型​​SELECT​​​​r​​(“读”)​​LARGEOBJECT​​​,​​SEQUENCE​​​,​​TABLE​​(andtable-likeobjects),tablecolumn......
  • nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面
    nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面nginx访问控制用于location段allow:设定允许哪台或哪些主机访问,多个参数间用空格隔开deny:设定禁止哪台或哪些......
  • 华为设备访问控制基本命令
    配置基本的访问控制表acl2000创建一个编号型ACL,基本ACL的范围是2000~29999rule5permitsource1.1.1.10指定规则ID为5,允许数据源地址为1.1.1.1的报文通过,反掩码全......
  • 实现fastdfs防盗链功能
    目录1、背景2、实现原理2.1开启防盗链2.2重启nginx2.3Java代码生成token1、token生成规则2、java生成token3、测试3.1带正确token访问3.2带错误token访问4、项目代码......
  • nginx 一些简单访问控制模块
    nginx已经内置了一些简单的访问控制模块,利用好这些模块我们可以提升系统的安全几个比较有用的标准模块基本都是利用了access阶段的能力limit_except限制请求方法的(类似白......
  • 防火墙基础之访问控制与网关杀毒​
    防火墙基础之访问控制与网关杀毒​原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔......
  • 图片防盗链
    如何避免别的网站直接通过本网站的url访问本网站资源简单的防盗我可以做到请求来的时候先看看当前请求是从哪个网站过来的如果是本网站那么正常访问如果是其他网站直接......
  • nginx配置基于用户和密码访问控制
    location中添加:denyall;(拒绝所有)、allowIP;(允许IP访问) 1、安装htpasswdyuminstallhttpdhtpasswd-c /usr/local/nginx/keyadmin;  #生成账号密码2、配......
  • HCIA-访问控制列表
    动作:permit允许(默认)deny拒绝分类: 通配符掩码:192.168.2.00.0.0.255“0”代表 严格匹配“1”表示可以忽略匹配原则:按规则IID号从小到......
  • nginx的优化和防盗链
    nginx的优化和防盗链一、nginx的优化1.隐藏版本号(1)隐藏版本号的原因为了安全,如果暴露版本信息,黑客可以通过版本信息,得知该版本存在的漏洞,进而对服务器进行攻击。隐藏......