4

実稼働サイトでこのエラーが 1 時間に数回発生し、修正方法がよくわかりません。ソース コードを grep しましたが、パスを生成するためにコード内のどこにも「../」を使用していません。

私のアプリケーションは、Win2003 Server の IIS6 で実行されています。URLRewriter.Net を使用してサイトにわかりやすい URL を許可していますが、これが問題の原因になっているのではないかと考えています。

私はすでに解決策をグーグルで検索し、いくつかの可能性を見つけましたが、どれもうまくいきませんでした.

最も一般的なソリューションの1つで提案されているように、タグライター設定で特定のHtmlTextWriterを使用するように強制するために、新しいApp_Browserファイルを作成しようとしましたが、うまくいきませんでした. 他に考えられる解決策は見たことがありません。

4

6 に答える 6

3

おそらく、ハイパーリンク コントロールで "~/something" を使用しているためです。物理ファイルがフレンドリ URL とは異なるディレクトリ レベルにある場合、ASP.NET は生成する相対 URL で使用する ../ が多すぎるため、このエラーが発生します。代わりに絶対 URL を使用できない場合は、 Page.ResolveUrl("~/foo/bar") を使用して適切な相対 URL を取得できると思います。

于 2008-10-08T23:10:38.923 に答える
1

Web サイトの ASP 設定で、Enable Parent Paths を True に設定するだけです。

それは私にとって問題を解決しました

于 2010-06-16T07:34:09.723 に答える
0

エラーが発生していることを確認しますか?一部のスクリプト(Code Red / Nimda)は、そのエラーのように見えるURLトラバーサルを探してインターネットをトロールします。

これは内部ですか、それとも外部ですか?マシンがスキャンされている可能性はありますか?

于 2008-10-30T20:01:14.360 に答える
0

リフレクターを使用して、URLRewriter.Net コードを掘り下げます。

于 2008-10-08T14:31:02.217 に答える
0

.NET 3.5 SP1 をインストールすることで、この問題を解決できました。

于 2009-06-05T13:01:44.507 に答える
0

私はあなたの書き換えパスをもう一度与えて、存在しないか、フラブされているか、実際にはWebアプリケーションの外にあるフォルダーを含むパスがあるかどうかを確認します。ここに書き換えルールを投稿できますか?

于 2008-10-09T16:01:15.047 に答える