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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

配置防盗链

  • 通过限制referer来实现防盗链的功能
  • 配置文件增加如下内容

    SetEnvIfNoCase Referer “http://111.com” local_ref

    SetEnvIfNoCase Referer “http://aaa.com” local_ref

    SetEnvIfNoCase Referer “^$” local_ref

    

        Order Allow,Deny

        Allow from env=local_ref

    

  • curl -e "http://www.aminglinux.com/123.html" 自定义referer

防盗链:通俗来说,就是不让别人盗用你网站上的资源。

打开虚拟主机配置文件 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,增加内容如下,保存退出

232259_n1yc_3708406.png

SetEnvIfNoCase Referer “http://111.com” local_ref和SetEnvIfNoCase Referer “aaa.com” local_ref,定义白名单;SetEnvIfNoCase Referer “^$” local_ref ,定义空的页面的白名单(这里先注释掉)

定义规则

Order Allow,Deny定义访问控制,order用来定义访问顺序

检查配置文件是否有语法错误,并重新加载配置文件

232902_M820_3708406.png

在浏览器中访问111.com/qq.png,会显示Forbidden

配置防盗链,访问控制Directory,访问控制FilesMatch_第1张图片

测试:我们可以在论坛发一个帖子,发帖内容就是要访问的链接(做成超链接),然后点击链接进行访问,发现还是显示Forbidden

配置防盗链,访问控制Directory,访问控制FilesMatch_第2张图片

这时,我们可以打开虚拟主机配置文件,将http://ask.apelearn.com加入到白名单中

配置防盗链,访问控制Directory,访问控制FilesMatch_第3张图片

然后,再点击帖子中的链接,就可以访问了

配置防盗链,访问控制Directory,访问控制FilesMatch_第4张图片

如果我们想要直接在浏览器中访问111.com/qq.png,可以将虚拟主机配置文件中空referer行前的注释符去掉

235044_eAlZ_3708406.png

然后检查配置文件是否有语法错误,并重新加载配置文件

232902_M820_3708406.png

这样就可以在浏览器中正常访问了

curl测试:

用curl模拟referer,-e指定referer

235445_4Gws_3708406.png

配置防盗链,访问控制Directory,访问控制FilesMatch_第5张图片

000022_wPer_3708406.png

查看访问日志

配置防盗链,访问控制Directory,访问控制FilesMatch_第6张图片

访问控制Directory

  • 核心配置文件内容

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

  • curl测试状态码为403则被限制访问了

打开虚拟主机配置文件,增加内容如下(红色方框区域),保存退出

074329_XuIA_3708406.png

Order 定义访问顺序,先执行deny后执行allow

创建admin目录,新建一个index.php文件,内容位121212

# mkdir admin/

# cd admin/

# touch index.php

# echo "121212" > index.php

074716_Pj59_3708406.png

检查语法是否有错误,并重新加载配置文件

075812_zGrh_3708406.png

访问测试:

curl -x127.0.0.1:80 111.com/admin/index.php -I,-x指定的是目标IP 127.0.0.1,限制的源IP也是127.0.0.1,也可以访问内容

080652_3bFU_3708406.png

改变目标IP,源IP也会改变

081215_hL5S_3708406.png

查看访问日志

081247_PFcR_3708406.png

在浏览器中访问111.com/admin/,显示Forbidden

081506_s0gz_3708406.png

访问控制 FilesMatch

  • 核心配置文件内容

    

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

    

访问控制除了目录的形式之外,也可以去匹配链接;

083117_sO5h_3708406.png

类似于以上中的链接,我们可以用FilesMatch去匹配

打开虚拟主机配置文件,增加内容如下,保存退出

082444_riHv_3708406.png

检查语法是否有错误,并重新加载配置文件

075812_zGrh_3708406.png

做访问测试,出现403

083446_Z24T_3708406.png

更改目标IP,出现404,表面允许访问了

083536_SclV_3708406.png

扩展

几种限制ip的方法

apache 自定义header

apache的keepalive和keepalivetimeout

 

转载于:https://my.oschina.net/u/3708406/blog/1594818

你可能感兴趣的:(配置防盗链,访问控制Directory,访问控制FilesMatch)