1

古いasp.net WebサイトをWindows 2003からWindows 2008 R2に移動しています。

一部のページでは URL に「&」が含まれており、2003 年には問題なく動作しますが、2008 年には「?」の前に「&」が含まれています。「Bad Request」を返します。

これらのページは Web サイトの人気に深刻な影響を与えます。すべての訪問の 7% がここから始まるため、URL を変更せずに適切に処理することが重要です。iis7 / asp.net 2.0でそのようなURLを処理する方法はありますか?

PS: validateRequest が機能しません

4

2 に答える 2

1

web.config に以下を追加してみてください。

<system.web>
    <httpRuntime requestPathInvalidCharacters="*,:,\" />

    ...
</system.web>

&パス内の無効な文字のリストから削除したことに注意してください。

于 2012-05-28T19:00:36.757 に答える
0

ここにあなたが行きたい場所にたどり着くかもしれないリンクがありますが、詳細を読んだら、私は個人的にこれを「自己責任で行う」カテゴリに追加します... Microsoftの言葉を少なくとも1つ取ってください「修正」

重要 この修正プログラムを有効にすると、アプリケーションの攻撃面が増加します。アプリケーションで必要な場合を除き、この修正を有効にしないでください。

DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET VerificationCompatibility = 1

その他は、設定名 (例: 、)だけでリスクが一目瞭然です。AllowRestrictedCharactersValidateRequest=False

つまり、これらの「レガシー」URL を更新することを検討301し、SEO/人気を考慮して永続的なリダイレクトを行う必要があります...

于 2012-05-28T22:05:13.600 に答える