在URL querstrying中传递“dot slash”序列

时间:2012-04-24 14:30:29

标签: special-characters url-encoding

在我正在处理的ASP.net Web应用程序中,有一个如下所示的链接

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

当我点击链接时,它会发出File not found(404)错误。我做了一些研究,并认为链接中存在“./”(点斜杠)序列,导致此错误。

我尝试对链接进行编码,如下所示(虽然URL中的句点正常)

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

但是,它没有帮助。它仍然给我同样的错误。有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

在我看来,你不应该有那些%22。 %22是ascii char for quote。我想这可能会给你带来麻烦。

答案 1 :(得分:0)

IIS 7.5具有过滤出现在查询字符串中的字符序列的规则。点斜线就是其中之一,这是一个潜在的安全威胁。可以通过在<security>

下的web.config中添加以下标记来解决此问题
<requestFiltering>
    <denyQueryStringSequences>
      <remove sequence="./"/>
    </denyQueryStringSequences>
</requestFiltering>