码迷,mamicode.com
首页 > Web开发 > 详细

LAMP--Apache 禁止指定 user_agent

时间:2016-07-05 10:27:18      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:apache   user_agent   

       user_agent 可以当作浏览器标识,目前主流的浏览器有 IE、chrome、Firefox、360、iPhone上的 Safari、Android 手机上的百度搜索引擎、google搜索引擎等很多,每一种浏览器都有对应的 user_agent,下面列出几个常见的 user_agent。

       Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E; SE 2.x)

       Mozilla/5.0(Windows NT 5.1) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/31.0.1650.63 Safari/537.36

       Mozilla/5.0(compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

       Mozilla/4.0(compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; 360SE)

       针对 user_agent 做一些限制。

       配置如下:

            <IfModule mod_rewrite.c>

               RewriteEngine on

               RewriteCond %{HTTP_USER_AGENT} ^*Firefox/4.0* [NC,OR]

               RewriteCond %{HTTP_USER_AGENT} ^*Tomato Bot/1.0* [NC]

               RewriteRule .* - [F]

            </IfModule>

        同样是使用 rewrite 模块来实现限制指定 user_agent,在本例中,RewriteRule .* - [F] 可以直接禁止访问,rewritecond 用 user_agent 来匹配, *Firefox/4.0* 表示,只要 user_agent 中含有 Firefox/4.0 就符合条件,其中 * 表示任意字符,NC 表示不区分大小写,OR表示或者,连接下一个条件。假如要把百度的搜索引擎限制掉,可以加一条这样的规则:

           RewriteCond %{HTTP_USER_AGENT} ^*Baiduspider/2.0* [NC]

           RewriteRule .* - [F]

       既然有了 或者OR,那也得有并且,只要不写 OR 就是并且的意思。


本文出自 “散宜生的学习笔记” 博客,请务必保留此出处http://sanyisheng.blog.51cto.com/11154168/1795826

LAMP--Apache 禁止指定 user_agent

标签:apache   user_agent   

原文地址:http://sanyisheng.blog.51cto.com/11154168/1795826

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!