renyanping 发表于 2018-11-20 13:00:17

Apache禁止指定的user_agent、指定目录被访问

  一、Apache禁止指定的user_agent
  1、修改apache的虚拟主机配置文件
  # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  
  
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^www.daixuan.com$
  RewriteCond %{HTTP_HOST} ^www.123.com$
  RewriteRule ^/(.*)$ http://www.test.com/$1
         RewriteCond %{HTTP_USER_AGENT} ^.*curl*    定义条件,NC不区分大小写
         RewriteCond %{HTTP_USER_AGENT} ^.*chrome*     定义或者chrome访问条件
         RewriteRule .* -                      规则是禁用,Forbidden
  
  
  2、测试结果:chrome不能打开www.test.com;Firefox可以打开www.test.com
  # curl -I www.test.com   curl访问也被禁止了
  HTTP/1.1 403 Forbidden
  

  二、通过Rewrite限制访问目录
  1、正常可以访问
  在防盗链中取消.txt文件被盗用,在/data/www/tmp/12.txt中输入123456
  浏览器可以正常打开:http://www.test.com/tmp/12.txt    123456
  

  2、修改配置文件
  #vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  
  
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^www.daixuan.com$
  RewriteCond %{HTTP_HOST} ^www.123.com$
  RewriteRule ^/(.*)$ http://www.test.com/$1
  #       RewriteCond %{HTTP_USER_AGENT} ^.*curl*
  #       RewriteCond %{HTTP_USER_AGENT} ^.*chrome*
  #       RewriteRule .* -
  
  RewriteCond %{REQUEST_URI} ^.*/tmp/.*    条件是包含‘/tmp/’目录的文件
         RewriteRule .* -                   拒绝访问
  
  
  

  3、测试
  Firefox浏览器打开:http://www.test.com/tmp/12.txt ,特定目录访问限制成功。
Forbidden
  You don't have permission to access /tmp/12.txton this server.
  

  

  

  




页: [1]
查看完整版本: Apache禁止指定的user_agent、指定目录被访问