0

在我正在处理的 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>

但是,它没有帮助。它仍然给我同样的错误。有什么办法可以克服这个吗?

4

2 回答 2

0

在我看来,你不应该在里面放那些 %22 。%22 是用于引用的 ascii 字符。我想这可能会影响你。

于 2012-04-24T14:37:05.937 回答
0

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

<requestFiltering>
    <denyQueryStringSequences>
      <remove sequence="./"/>
    </denyQueryStringSequences>
</requestFiltering>
于 2012-07-31T04:55:02.240 回答