8.6

1、配置防盗链

  通过限制referer来实现防盗链的功能

  修改配置文件,增加如下部分

  <Directory /data/wwwroot/111.com>

    SetEnvIfNoCase Referer "http://www.123.com" local_ref    //定义referer白名单

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

    SetEnvIfNoCase Referer "^$" local_ref            //空的referer,也设置为白名单

    <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">          //定义规则

      Order Allow,Deny                  //定义顺序,先允许还是先拒绝

      Allow from env=local_ref               //这里的定义是在白名单内的允许,其他的拒绝

    </filesmatch>

  </Directory>

  使用curl -e可以指定referer,curl -e "http://www.qq.com/123.txt" -x127.0.0.1:80 111.com/qq.png -i

2、访问控制Directory

  核心配置文件内容

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

    Order deny,allow    //用来定义deny和allow的顺序,此处先匹配deny的语句,如果此处为allow,deny,则会先执行allow from 127.0.0.1,不会因为deny语句在上而先匹配deny语句

    Deny from all

    Allow from 127.0.0.1      //限制源IP

  </Directory>

  此时使用curl访问111.com,当源地址为127.0.0.1时,可以正常访问,当源地址为非127.0.0.1时,显示为403,无法访问

  查看日志可以看到只有127.0.0.1是被允许访问的

3、访问控制files match

  

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

    <FilesMatch admin.php(.*)>

    Order deny,allow    //用来定义deny和allow的顺序,此处先匹配deny的语句,如果此处为allow,deny,则会先执行allow from 127.0.0.1,不会因为deny语句在上而先匹配deny语句

    Deny from all

    Allow from 127.0.0.1      //限制源IP

    </FilesMatch>

  </Directory>

   此时,访问admin.php时,显示为403

  使用127.0.0.1时,则显示为404(允许访问,但未找到文件)

  与Directory功能一致,不过此功能只对文件进行访问控制 

  

猜你喜欢

转载自www.cnblogs.com/w494129131/p/9427038.html
8.6