防盗链和访问控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防盗链和访问控制相关的知识,希望对你有一定的参考价值。
配置防盗链- 如果有第三方网站引用服务器上的图片等信息,就需要添加防盗链,因为这样不会帮助我们增加收益还会导致流量和带宽的增加。
- 通过限制referer来实现防盗链的功能
-
配置文件增加如下内容vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/www.123.com> SetEnvIfNoCase Referer "http://111.com" local_ref SetEnvIfNoCase Referer "http://www.111.com" local_ref SetEnvIfNoCase Referer "^$" local_ref #定义referer白名单,#如果在referer白名单中不加“^#”(空referer),直接访问指定内容将会被拒绝 <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)"> Order Allow,Deny Allow from env=local_ref #针对"\.(txt|doc|mp3|zip|rar|jpg|gif|png)"定义规则:允许变量local_ref指定的referer访问,拒绝其他所有访问 </filesmatch> </Directory>
- curl -e "http://www.aminglinux.com/123.html" 自定义referer
[[email protected] ~]# curl -e "http://www.baidu.com" -x127.0.0.1:80 111.com/123.png -I HTTP/1.1 200 OK Date: Wed, 02 Aug 2017 13:58:41 GMT Server: Apache/2.4.27 (Unix) php/7.1.6 Last-Modified: Wed, 02 Aug 2017 13:52:13 GMT ETag: "425c-555c5922e9d40" Accept-Ranges: bytes Content-Length: 16988 Content-Type: image/png
访问控制 – Directory
- 在用户认证的基础上再加一层安全项,只允许特定的ip访问指定目录
-
核心配置文件内容vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/www.123.com/admin/> Order deny,allow ##Order定义先deny还是先allow,两步都要执行 Deny from all Allow from 127.0.0.1 </Directory>
- curl测试状态码为403则被限制访问了
[[email protected] admin]# curl -x127.0.0.1:80 111.com/admin/index.php dadada[[email protected] admin]# curl -x192.168.16.120:80 111.com/admin/index.php -I HTTP/1.1 403 Forbidden Date: Wed, 02 Aug 2017 14:29:02 GMT Server: Apache/2.4.27 (Unix) PHP/7.1.6 Content-Type: text/html; charset=iso-8859-1
访问控制 – FilesMatch
- 只允许特定的ip访问指定的连接,不针对目录
- 核心配置文件内容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> </Directory>
扩展
以上是关于防盗链和访问控制的主要内容,如果未能解决你的问题,请参考以下文章