5

私は、ユーザーが次のコードで読み取る RSS または Atom フィードに URL を提供する必要がある Web アプリケーション (ASP.Net MVC、C#) を身もだえしています:

var xmlRdr = XmlReader.Create(urlProvidedByUserAsString);
var syndicFeed = SyndicationFeed.Load(xmlRdr);

アプリケーションのデバッグ中に誤って URL として渡してしまい、開くことができない/something/like/thisという例外が発生しました。C:\something\like\this

ユーザーがローカル パスを提供でき、アプリケーションがそれを読み取ろうとするようです。

このコードを安全にするにはどうすればよいですか? ユーザーは. https://_ おそらく uri クラスを使用して、URL が Web を指しているかどうかを確認する方法はありますか?http://http://localhost/blah

編集:次の例のように、ユーザーがネットワーク上の他のマシンを指すアドレスを入力できないようにする必要があると思います:http://192.168.0.6/またはhttp://AnotherMachineName/

4

1 に答える 1

1

試す:

new Uri(@"http://stackoverflow.com").IsLoopback
new Uri(@"http://localhost/").IsLoopback
new Uri(@"c:\windows\").IsLoopback
于 2012-06-07T12:25:56.263 に答える