0

私が取り組んでいるASP.net Webアプリケーションには、以下のようなリンクがあります

<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>

しかし、それは役に立ちませんでした。それでも同じエラーが発生します。これを克服する方法はありますか?

4

2 に答える 2

0

IIS 7.5には、クエリ文字列に表示される文字シーケンスをフィルタリングするルールがあります。ドットスラッシュはその1つであり、潜在的なセキュリティ上の脅威です。これは、web.configの以下のタグを追加することで解決できます。<security>

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

そこに %22 を入れるべきではないように思えます。%22 は引用符の ASCII 文字です。私はそれがあなたを悩ませているかもしれないと思います。

于 2012-04-24T14:37:05.937 に答える