防盗链和访问控制

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>

扩展

以上是关于防盗链和访问控制的主要内容,如果未能解决你的问题,请参考以下文章

Apache网页与安全优化——防盗链和隐藏版本(理论实践相结合!)

nginx防盗链和内核参数优化

nginx防盗链和代理配置

Apache防盗链和隐藏版本信息

apache 防盗链和隐藏版本

Nginx防盗链和FPM模块优化