Url rewriting 在IIS7和清理帖子中使用URL重写2.0

Url rewriting 在IIS7和清理帖子中使用URL重写2.0,url-rewriting,url-rewrite-module,Url Rewriting,Url Rewrite Module,我在使用IIS 7在URL重写2.0中设置规则时遇到一些问题。我正在开发一个网站,它将更现代的.NET4.0内容与经典的.ASP内容相结合。我当前的任务是尝试从用户输入中删除一些特定字符,以帮助防止XSS攻击 我得到了基本语法: <rule name="Rule Name" stopProcessing="true"> <match url="myPage.asp" /> <conditions> <add input="

我在使用IIS 7在URL重写2.0中设置规则时遇到一些问题。我正在开发一个网站,它将更现代的.NET4.0内容与经典的.ASP内容相结合。我当前的任务是尝试从用户输入中删除一些特定字符,以帮助防止XSS攻击

我得到了基本语法:

<rule name="Rule Name" stopProcessing="true">
    <match url="myPage.asp" />
    <conditions>
        <add input="" pattern="" />
    </conditions>
    <action type="" />
</rule>

我知道我需要三个步骤, 1) 确保我们看到的是一篇文章 2) 使用正则表达式识别任意一个错误字符 3) 继续文章,去掉那些字符

我认为第一个问题可以通过以下方式解决:

<add input="{REQUEST_METHOD}" matchType="Pattern" pattern="POST" ignoreCase="true" />

令我沮丧的是第二和第三个问题。
第二个也是一个输入,但我一直在试图找到最好的{}变量来输入。现在我有这个:

<add input="{REQUEST_URI}" pattern="[\\\|&lt;>]" />

但是我知道{REQUEST_URI}不是正确的变量。我一直在URL重写网站上(http://www.iis.net/download/urlrewrite),我找到了IIS 6.0服务器变量列表(http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx),但我似乎找不到一个适合我在7.0及以上版本中使用的变量列表以及它们的含义。这是不是有人在某个地方加入书签并可以传递的东西

第三个也是给我一些问题。现在,在其他一些规则上,我已经设置了
,但是对于这一点,我并不想停止请求,我只是想删除坏字符并继续发布。IIS中的自定义规则设置看起来很有希望,但它似乎只是想重定向到URL,而不做任何其他事情。这有可能吗


我还应该注意到,我正在研究IIS管理的模块,作为获取所需内容的替代方案。这对任何人来说都是一条更好的途径吗

所以,事实证明,您不能这样做,而且我误解了URL重写应用程序的范围。我应该看看IIS管理的模块,并将在将来重点介绍它