linux学习第四十一篇:配置防盗链,访问控制Directory,访问控制FilesMatch

配置防盗链

防盗链,就是不让别人盗用你网站上的资源,这个资源,通常指的是图片,视频,歌曲,文档等。不是我们认识的referer一概不许访问。
防盗链的作用是,我们网站的图片,只能通过我们自己的网站去访问,其他网站借用不行。
我举的例子,意思是我们的网站,被用户上传了很多图片,而用户又在他自己的网站上加上了我们网站图片的链接,就直接能访问了。
这样可以节省他网站的带宽。

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

<Directory /data/wwwroot/111.com>
        SetEnvIfNoCase Referer "http://111.com" local_ref //设置referer的白名单
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref //空referer,可以直接访问网站的图片,
//如果没有这行,想要访问网站图片就需要通过上面的白名单referer去访问
        <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
            Order Allow,Deny  //order用来定义顺序,是先allow还是先deny,如果先allow就先执行allow的语句,先deny就先执行deny的语句
            Allow from env=local_ref  
        </filesmatch>
    </Directory>

这里写图片描述

-e用来指定referer:
curl -e “http://111.com/123.txt
当我们用www.qq.com这个referer去访问111.com时候就会出现403则被限制访问了。
但是用http://111.com这个白名单referer去访问就可以正常访问 //referer要用http://

这里写图片描述

访问控制Directory

访问控制Directory,只允许设置的IP可以访问网站。
核心配置文件内容,编辑虚拟主机配置文件:
/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<Directory /data/wwwroot/111.com/admin/>
        Order deny,allow //order用来定义顺序,是先allow还是先deny,如果先allow就先执行allow的语句,先deny就先执行deny的语句
        Deny from all
        Allow from 127.0.0.1 //只允许127.0.0.1这个IP可以访问
    </Directory>

这里写图片描述

记得在111.com目录下创建admin目录,在admin目录下编辑文件index.php,内容随便写。
这里写图片描述

curl测试状态码为403则被限制访问了,只有allow里的127.0.0.1可以访问。
这里写图片描述
这里写图片描述

访问控制FilesMatch

访问控制FilesMatch,只允许设置的IP可以访问网站里设置的admin.php(.*)的文件,其他没有allow的IP只能访问网站除了admin.php(.*)以外的文件。
核心配置文件内容

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

这里写图片描述

curl测试状态码为403则被限制访问了
而127.0.0.1测试状态码为404说明可以访问,只是访问的东西不存在而已。
这里写图片描述

扩展
几种限制ip的方法 http://ask.apelearn.com/question/6519
apache 自定义header http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值