配置防盗链、访问控制Directory、访问控制FilesMatch

配置防盗链
[root@wsl-001 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
(增加如下语句)
<Directory /data/wwwroot/111.com>
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref
        <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
            Order Allow,Deny
            Allow from env=local_ref
        </filesmatch>
    </Directory>

[root@wsl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful

[root@wsl-001 ~]# curl -e "http://www.baidu.com" -x 127.0.0.1:80 111.com/test.jpg -I
HTTP/1.1 403 Forbidden
Date: Tue, 17 Apr 2018 14:00:53 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

如果域名是带二级域名的。 这个referer 要怎么样写个通配?

SetEnvIfNoCase Referer "^http://.*\.yourdomin\.com" local_ref
SetEnvIfNoCase Referer ".*\.yourdomin\.com" local_ref

第二行就是通配

访问控制Directory

访问控制Directory
[root@wsl-001 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
(在Directory前面增加如下配置)

<Directory /data/wwwroot/111.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>

[root@wsl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@wsl-001 ~]# mkdir /data/wwwroot/111.com/admin/
[root@wsl-001 ~]# vim  /data/wwwroot/111.com/admin/index.php
[root@wsl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful

[root@wsl-001 ~]# curl -x 127.0.0.1:80 111.com/admin/index.php
123
[root@wsl-001 ~]# curl -x 172.16.79.140:80 111.com/admin/index.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /admin/index.php
on this server.<br />
</p>
</body></html>

访问控制FilesMatch

[root@wsl-001 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
(修改以下代码)
<Directory /data/wwwroot/111.com/admin/>
        <FilesMatch  "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        </FilesMatch>
    </Directory>
[root@wsl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@wsl-001 ~]# curl -x 172.16.79.140:80 'http://111.com/admin/admin.php?dasfa' -I
HTTP/1.1 403 Forbidden
Date: Wed, 18 Apr 2018 08:37:12 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

[root@wsl-001 ~]# curl -x 127.0.0.1:80 'http://111.com/admin/admin.php?dasfa' -I
HTTP/1.1 404 Not Found
Date: Wed, 18 Apr 2018 08:37:25 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,854评论 0 28
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 2,183评论 0 9
  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 2,219评论 1 6
  • 昨天看了《厨房机密》,其实做厨师很不简单的。排除要到学校学习专业技能以外,还要经过好几年的每天12个小时的工作。作...
    探索者John阅读 163评论 0 0
  • 人与人之间的相处是一门很深的学问,尤其是进入新的环境的时候,大家彼此都不熟悉,那么我们应该怎么相处?如何自处? 这...
    临淄茂业DDM_闫丹丹阅读 483评论 8 0

友情链接更多精彩内容