2012-04-24 83 views
0

在我工作的ASP.net web应用程序,不存在像下面通“点斜杠”在URL querstrying

<a href="search.aspx?orig_q=source:%22INFCE/DEP./WG--8/48%22">INFCE/DEP./WG--8/48</a> 

当我点击链接上的链接,它给出了一个文件未找到(404)错误。我做了一些研究,并相信链接中存在导致此错误的“./”(点斜线)序列。

我想编码的链接如下(虽然期间处于URL OK)

<a href="search.aspx?orig_q=source:%22INFCE%2FDEP%2E%2FWG--8%2F48%22">INFCE/DEP./WG--8/48</a> 

但是,这并没有帮助。它仍然给我同样的错误。任何方法来克服这一点?

回答

0

IIS 7.5有规则来过滤出现在查询字符串中的字符序列。点斜线是其中之一,这是潜在的安全威胁。它可以通过添加在web.config下面的标签<security>

<requestFiltering> 
    <denyQueryStringSequences> 
     <remove sequence="./"/> 
    </denyQueryStringSequences> 
</requestFiltering> 
0

它看起来像我不应该有那里%22。引用%22是ascii字符。我想这可能会让你失望。

+0

不是真的下被克服。我有类似的其他工作链接。从问题中提供的链接中,如果我删除了这段时间,则链接工作得很好。 – itsbalur 2012-04-24 14:41:14