2018-3-6 Linux学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-3-6 Linux学习笔记相关的知识,希望对你有一定的参考价值。
11.25 配置防盗链
- 背景:有时候我们不想让其他网站通过网站链接方式来访问位于我们网站上的文档,图片,音频等文件,这时可通过限制referer的方式来实现防盗链功能.
- 配置防盗链的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下内容:
<Directory /data/wwwroot/123.com>
SetEnvIfNoCase Referer "http://123.com" local_ref
SetEnvIfNoCase Referer "http://www.baidu.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://123.com,http://www.baidu.com 和空Referer(像直接在浏览器中输入地址来访问,不借助跳转)三种方式的访问请求能访问本站点的txt|doc|mp3|zip|rar|jpg|gif|png等文件,其他的任何访问请求均拒绝.
- 重新加载配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
- 配置后的测试:
- (1)自定义Referer的访问测试:
curl -e "http://123.com" -x127.0.0.1:80 -I 123.com/qq.png
curl -e "http://www.baidu.com" -x127.0.0.1:80 -I 123.com/qq.png - (2)空Referer访问测试:
curl -x127.0.0.1:80 -I 123.com/qq.png
11.26 访问控制Directory
- 背景:有时候我们网站有些内容,比如后台管理页面,为安全故,不想外部访问,这时我们可通过访问控制Directory(限制源IP)的方法只让源IP为内部的访问通过,其他的统统拒绝.
- 配置访问控制Directory的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下内容:
<Directory /data/wwwroot/www.123.com/admin/> #配置访问控制的目标目录
Order deny,allow #是否能访问的顺序(最终能否访问靠这一行)
Deny from all
Allow from 127.0.0.1 #控制对象为来源IP
</Directory> - 重新加载配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful - 配置后的测试:
curl测试状态码为403,说明被限制访问了.
11.27 访问控制FilesMatch
- 访问控制FilesMatch和访问控制Directory的功能类似,不同点在于FilesMatch控制的是更小范围层面(文件)的访问控制.
- 配置访问控制FilesMatch的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下内容:
<Directory /data/wwwroot/123.com>
<FilesMatch "admin.php(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>
</Directory> - 重新加载配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful - 配置后的测试:
扩展学习:
几种限制ip的方法 http://ask.apelearn.com/question/6519
apache 自定义header http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556
以上是关于2018-3-6 Linux学习笔记的主要内容,如果未能解决你的问题,请参考以下文章