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

apache重写中匹配?即查询时用到的字符

时间:2014-10-30 18:54:09      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:io   sp   on   log   cti   bs   app   方法   nbsp   

公司的网站收到大量的查询,日志里大概是这样样子的

/a/b/c.action?act=listApp_ap113/QMBLMT-0905-HUAWEI_300008413068_2200109612.cuk,现在要求要禁止人家访问时查询带有113/QMBLMT-0905-HUAWEI_300008413068_2200109612.cuk,刚开始是这样子匹配的

 

RewriteEngine on
RewriteCond %{REQUEST_URI} listApp_ap\d{3} .*
RewriteRule .*listApp_ap\d{3}.* - [F]
这样子是可以禁止带113/QMBLMT-0905-HUAWEI_300008413068_2200109612.cuk的访问,但不能禁止带?act=listApp_ap113/QMBLMT-0905-HUAWEI_300008413068_2200109612.cuk这样子的访问

后来,查到由于apache url无法匹配?所以只能改方法,用QUERY_STRING

RewriteEngine on
RewriteCond %{QUERY_STRING} listApp_ap.+
RewriteRule ^(.*)$ .*?%{QUERY_STRING} [F]

这样子就能禁止人家查询时带有?act=listApp_ap113/QMBLMT-0905-HUAWEI_300008413068_2200109612.cuk

可以查看日志tail -f  ../logs/access_log|grep -Po ‘(?<=listApp_ap)\d{3}/[\-_\w.]+‘   可以看到,应该是输出空白的。

apache重写中匹配?即查询时用到的字符

标签:io   sp   on   log   cti   bs   app   方法   nbsp   

原文地址:http://www.cnblogs.com/2myroad/p/4063159.html

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