apache 限制指定user_agent

回复 收藏
有些user_agent 不是我们想要的,可以通过rewrite功能针对 %{HTTP_USER_AGENT} 来rewirete到404页,从而达到限制某些user_agent的请求。

配置如下
   
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  ^.*Firefox/4.0* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  ^.*Tomato Bot/1.0* [NC]
        RewriteCond   %{REQUEST_URI} !^/404*
        RewriteRule  .*  /404.html
   

请注意,你的404.html千万别再跳转到其他页面了,否则很有可能就会死循环了。
其实rewrite到404.html 并不是很好的办法,而apache的rewrite功能有一项就是forbidden ,那就是 F
配置如下
   
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  ^*Firefox/4.0* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  ^*Tomato Bot/1.0* [NC]
        RewriteRule  .*  -  [F]
   
2012-05-15 13:23 举报
已邀请:
0

xiaotuanyu120

赞同来自:

铭哥,%{}在正则里是什么意思呀
0

李宁

赞同来自:

%{HTTP_HOST}:取请求的域名  在网上看到的
0

s9308

赞同来自:

本帖最后由 s9308 于 2016-1-19 12:21 编辑
xiaotuanyu120 发表于 2015-1-12 23:30
铭哥,%{}在正则里是什么意思呀

这是服务器变量的引用,引用方法:%{ NAME_OF_VARIABLE },变量有HTTP_USER_AGENT、HTTP_REFERER、HTTP_COOKIE、HTTP_FORWARDED、HTTP_HOST、REQUEST_URI
0

xiaotuanyu120

赞同来自:

s9308 发表于 2016-1-19 12:20
这是服务器变量的引用,引用方法:%{ NAME_OF_VARIABLE },变量有HTTP_USER_AGENT、HTTP_REFERER、HTTP_C ...

感谢回复,虽然已经查过了,哈哈
0

迷城

赞同来自:

这个不错,可以判断百度蜘蛛的user_agent来进行跳转
0

zmh0415

赞同来自:

学习,好东西
0

17095053557

赞同来自:

已阅,已经学习!!
0

wanmei

赞同来自:

复习

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: