私は、HTTP ハンドラーを含む ASP.Net C# アプリケーション (私の最初の!) に取り組んでいます。私のアプリケーションは、URL 経由で渡されるいくつかのパラメーターを使用して動作します。私の質問は次のとおりです。
アプリケーションのエントリ ポイントは、HTTP ハンドラ経由です。ProcessRequest メソッドに入ると、URL パラメーターの値を変数に割り当てて、データを処理できるようにします。 質問: URL を呼び出すときに値を何も設定していなくても、これは安全ですか?
私の例では:私はhost/handler1.ashx
代わりに呼び出しますhost/handler1.ashx?something=foo
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string something = context.Request["something"];
context.Response.Write("Hello World: " + something);
}
パラメーターなしのプレーン URL を使用して上記のメソッドを呼び出すと、正常に実行されますが、文字列something
は空白または null になります。
追加の質問: something
URL を介して変数を明示的に初期化しない場合、変数はどうなりますか? null であることは理解していますが、これにより問題が発生する可能性はありますか?
プレーンな URL を呼び出すのは危険ですか、それとも安全ではありませんか (つまり、常にパラメーター値を指定して呼び出す必要がありますか)?
「クリーンな」ashx URL を呼び出してアプリケーションを起動するが、問題をリスクにさらさない最善の方法は何ですか?
アプリケーションは、値を蓄積し、クエリ文字列を介してアプリに戻すときに、一連の後続の GET リダイレクトを実行します。アプリケーションの最初の呼び出しで POST または GET を実行する必要がありますか?
同じ質問を複数の方法で質問して申し訳ありませんが、トピックについて少し混乱しています。このようなアプリを作成するのはこれが初めてです。パラメータを安全に処理および初期化する方法について、忍耐とアドバイスをいただければ幸いです。