lamp(七)——访问控制

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

配置防盗链

盗链一般是为了节省流量、提高访问速度。对于被盗链者来说一点益处没有,所以许多网站都做了防盗链设置。apache通过限制referer来实现防盗链的功能。

虚拟主机配置文件增加如下内容

 <Directory /data/wwwroot/www.123.com>
       SetEnvIfNoCase Referer "http://www.123.com" local_ref
       SetEnvIfNoCase Referer "http://123.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>

order定义了访问控制的顺序,上例是先allow后deny,不关顺序怎样都会执行完下面的所有规则。local_ref类似标签。上面例子定义了三个标签,第三个是空referer,就是直接访问。不容易理解空referer就先思考referer的定义:跳转前的网址。空referer就是没有跳转前的网址,即直接访问。

可以某一论坛发一帖子然后在浏览器测试。也可以用curl来试验。curl使用-e参数来指定referer。

访问控制Directory

用户认证还是存在风险,比如密码泄漏。如果访问者ip固定,可以通过ip的访问控制来降低风险。

ip控制核心配置文件内容

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

order定义控制顺序,下面的语句一句order定义的顺序执行。127.0.0.1指的是来源ip。

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

访问控制FilesMatch

directory控制目录,filesmatch匹配相应文件。这和用户认证中设置类似。

核心配置文件内容

<Directory /data/wwwroot/www.123.com>
   <FilesMatch  "admin.php(.*)">
       Order deny,allow
       Deny from all
       Allow from 127.0.0.1
   </FilesMatch>
</Directory>

filesmatch不严格区分大小写。

    原文作者:awsome365
    原文地址: https://www.jianshu.com/p/2c3ff95a42dc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞