test page from Skydrive

在使用.NET Ajax控件的时候,有时候我们会在HTML页面的source里发现SciptManager会产生如下的请求: 

图像

 

这个时候如果在IIS6/7里面设置了Request Filtering,拒绝带双横线--的请求,就会导致此Ajax功能异常。 

之所以要对double-hyphen设置这样的deny规则,是因为在SQL注入里,双横线可以用来注释SQL语句的条件判断,这样导致非法的SQL语句可以执行。 

为了解决这个问题,可以针对带特定的extension后缀的页面设置该规则,而对.axd不设置该规则。在IIS7.5里,可以视作已经集成了用在IIS6上的URLScanRule功能,所以可是实现这一要求。方法是: 

1. 启动IIS管理器找到Request Filtering页面,找到Rules页。添加规则。 

2. 进行如下设置: 

图像

 

这样就可以设置IIS只过滤.aspx页面的,在query string里带--字符串的请求。这样对.axd就不会进行过滤。

posted on 2012-11-21 10:30  李志鹏  阅读(165)  评论(0编辑  收藏  举报

导航