私は、ユーザーが次のコードで読み取る 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/