【LAMP环境搭建】配置防盗链、访问控制Directory和访问控制FilesMatch

本文介绍如何在Apache服务器中配置防盗链功能及访问控制,包括限制referer防盗链、目录访问控制及特定文件访问控制等操作步骤,并提供curl测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 配置防盗链

 通过限制referer来实现防盗链的功能

 配置文件增加如下内容:

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 


<Directory /data/wwwroot/111.com>
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref
        <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
            Order Allow,Deny
            Allow from env=local_ref
        </filesmatch>
    </Directory>




让我们来测试一下:

先在http://ask.apelearn.com上发个帖子,将http://111.com/qq.png链接放进去作成超链接,然后直接点这个链接其实也是访问不了的,所以我们要到 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf  配置文件中,将http://ask.apelearn.com这个地址添加进白名单,就可以访问了,这就是防盗链的作用。

1、作个帖子:



2、访问不了:



3、配置文件添加白名单:



4、重新访问OK了:





也可以使用curl来测试:

curl -e "http://ask.apelearn.com"       自定义referer 




二、 访问控制Directory 

 核心配置文件内容:

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 


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

    </Directory> 


 

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

172.16.17.71是虚拟机IP,因为没有被允许,所以显示forbidden



127.0.0.1是在配置文件里设置允许访问的,所以正常显示200




三、 访问控制FilesMatch 

核心配置文件内容:

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 


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




测试:






扩展
几种限制ip的方法 :
http://ask.apelearn.com/question/6519 


apache 自定义header :
http://ask.apelearn.com/question/830 


apache的keepalive和keepalivetimeout :
http://ask.apelearn.com/question/556 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值