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 条评论
登录 后参与评论

相关文章

来自专栏linux运维学习

linux学习第二十八篇:监控io性能,free命令,ps命令,查看网络状态,linux下抓包

监控磁盘io性能 (命令:iostat,iotop) 查看磁盘读写状态: iostat -x %util:表示io等待,也就是磁盘使用占用cpu百分比。...

74690
来自专栏耕耘实录

关于FTP主动模式与被动模式的一点理解

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

14620
来自专栏散尽浮华

Linux下FastDFS分布式存储-总结及部署记录

一、分布式文件系统介绍 分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一...

57670
来自专栏Netkiller

PHP高级编程之守护进程

PHP高级编程之守护进程 摘要 2014-09-01 发表 2015-08-31 更新 2015-10-20 更新,增加优雅重启 ---- 目录 1. 什么是守...

34740
来自专栏北京马哥教育

记一次惊心的网站 TCP 队列问题排查经历

18350
来自专栏北京马哥教育

DNS从入门到管理(一)

DNS概述 DNS(Domain Name System,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程...

68160
来自专栏向治洪

认识Kubernates(K8S)

在后端开发中,在介绍Jenkins的可伸缩部署方式上,主要有两种方式:一种是基于Docker(或者docker-swarm 集群)的部署方式,另外一种是基于ku...

84980
来自专栏前端萌媛的成长之路

一波webpack

20040
来自专栏pythonlove

DNS子域授权、view配置详解

子域授权:其实就是将一个比较大的域再分割成小区域,每个小区域可以交由一组或多组服务器管理,这些服务器只解析其管辖范围内的域名,超出其范围的解析请求一般会转发给父...

17520
来自专栏SDNLAB

脱坑神器,让你一步了解ODL控制器集群

一、控制器集群基本知识 1.1 Consensus一致性 Consensus一致性是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的...

48470

扫码关注云+社区

领取腾讯云代金券