本帖最后由 FeJerry 于 2011-11-07 15:49:12 编辑

解决方案 »

  1.   

    不带%和&的也是400么?
    如果包含空格呢?
      

  2.   

    %可以转义一下,url转义字符 本来也想劝你转义的,结果你说没用,那么算了,如果实在搞定不了,就用字符串替换吧!在使用前,你可以把%替换为全角的%,然后在使用时,又把它替换回来。
      

  3.   

    、我也这么弄,怎么会绕过问题呢?
    我的URL里面会有一个 “/” ,是不能用在地址里的。所以我替换为“杠”
    在使用的时候再替换回去。能够解决问题。
      

  4.   

    这个就用IHttpHander重写吧 自由处理
      

  5.   

      包含非转义的百分号 (%) 的请求可用于绕过筛选 IIS 7.0  中的模块在请求http://support.microsoft.com/kb/960728/zh-cn
    分析:iis6.0其实也有同样的问题 ,请求url中 去掉querrystring的部分(即是半角?号前面的部分)  如果出现 非转义的百分号 
    会绕过 模块请求 
    http://support.microsoft.com/kb/960728/zh-cn
    搜到篇文章,原来是iis的bug ,这种请求 没有经过 httpModules 处理呀 ,
    自己用<httpModules> 写伪静态测试出来的结果