一个关于文件路径的正则表达式
在这个系统中我使用了从msdn上下载的url重写模块(具体请看在 ASP.NET 中执行 URL 重写)其其中需要在web.config中指定url转换的正则表达式,最后的正则表达式如下(我想将任何文件进行转向)
在<LookFor></LookFor>中~可能是URLRewriting模块指定的,以上正则表达式通过xml解析之后变成
~/resData/([^\\:\*\?"\|<>]+)
再加上正则表达式转义,正好就是在resData下,只要不包含\:*?"|<>中的任意字符即可,而
在windows系统中不可能作为文件名和目录名的字符是\:*?"|<>和/,而/要在路径中用到,所以不能禁止
<RewriterRule>
<LookFor>~/resData/([^\\:\*\?"\|><]+)</LookFor>
<SendTo>~/Sys/load.aspx?1</SendTo>
</RewriterRule>
<LookFor>~/resData/([^\\:\*\?"\|><]+)</LookFor>
<SendTo>~/Sys/load.aspx?1</SendTo>
</RewriterRule>
在<LookFor></LookFor>中~可能是URLRewriting模块指定的,以上正则表达式通过xml解析之后变成
~/resData/([^\\:\*\?"\|<>]+)
再加上正则表达式转义,正好就是在resData下,只要不包含\:*?"|<>中的任意字符即可,而
在windows系统中不可能作为文件名和目录名的字符是\:*?"|<>和/,而/要在路径中用到,所以不能禁止
posted on 2005-02-24 12:06 K_Reverter 阅读(2056) 评论(0) 编辑 收藏 举报