11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch

11.25 配置防盗链 php

防盗链能限制不认识的referer的访问,可以禁止别人的服务器引用或转发服务器上的内容,这样能够防止别人盗用服务器上的资源,服务器的资源被盗用会致使网络带宽的使用量上升。apache

 

经过限制referer来实现防盗链的功能安全

暂且去掉rewrite   expires 服务器

配置文件增长以下内容网络


 

<Directory /data/wwwroot/111.com>

        SetEnvIfNoCase Referer "http://111.com" local_ref

        SetEnvIfNoCase Referer "http://ask.apelearn.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>

 

//自定义referer  模拟第三方网站的访问-e,域名的描述不能乱写,要以http://开头。curl

 

curl -e "http://www.qq.com/123.txt" -x 127.0.0.1:80 111.com/qq.png -I 测试

 

curl -e "http://111.com/123.txt" -x 127.0.0.1:80 111.com/qq.png -I网站

11.26 访问控制Directoryurl

访问控制相似于用户认证,可是要比用户认证更安全一些,由于用户认证须要输入帐户密码,若是帐户密码被别人知道了,那么别人就可以经过认证去访问你的服务器了。spa

访问控制则不须要经过帐户密码来验证,由于访问控制只容许白名单内的IP进行访问,其余的IP一律拒绝访,因此在安全性上要比用户认证的机制更安全一些,并且这二者也能够结合到一块儿使用:先经过用户认证再让访问控制去过滤IP也是能够的。

 

核心配置文件内容

 

为避免冲突,放到配置防盗链的上面。

<Directory /data/wwwroot/111.com/admin/>

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

    </Directory>

保存修改后,到/data/wwwroot/111.com目录下建立一个admin目录,并拷贝index.php文件到admin目录下

-t graceful

 

curl -x 127.0.0.1:80 111.com/admin/index.php -I

curl -x 192.168.174.128:80 111.com/admin/index.php -I

 curl测试状态码为403则被限制访问了

能够看到使用白名单里的IP是能够进行访问

若是换一个不在白名单里的IP去进行访问,就会出现403状态码。

 

11.27 访问控制FilesMatch

除了Directory的访问控制还有FilesMatch的访问控制,Directory访问控制相似于限制一个目录的访问,而FilesMatch访问控制则相似于限制一个文件或文件连接的访问,FilesMatch要写在Directory以内。

核心配置文件内容

<Directory /data/wwwroot/111.com>

    <FilesMatch  "admin.php(.*)">

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

    </FilesMatch>

</Directory>

 

修改完成后从新加载配置文件,而后使用curl命令访问admin.php或与此文件的相关连接,就都会报403状态码:

curl -x 192.168.174.128:80 111.com/admin.php -I

curl -x 192.168.174.128:80 '111.com/admin.php.?name=aaa&address' -I

 

使用白名单内的IP去访问就不会报403了,报404的缘由是由于没有这个文件,可是已经能够访问了:

curl -x 127.0.0.1:80 111.com/admin.php -I

  控制FilesMatch 相对于控制Directory 来讲要灵活一些,由于Directory是控制整个目录,控制FilesMatch则能针对一些具体的文件去进行控制,要更细化一些,对一些具体的访问控制,就适合控制FilesMatch 。

 

扩展

几种限制ip的方法 http://ask.apelearn.com/question/6519

apache 自定义header http://ask.apelearn.com/question/830

apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556

相关文章
相关标签/搜索