2017-03-02 8 views
-3

私は4.0のフレームワークを持つ.net Webアプリケーションで作業しています。私はQuerystringのパラメータ値をエンコードする必要があることがわかったOpen Redirectの問題に取り組んでいました。Openリダイレクトの要点をCで#

私のサンプルコード

//Open redirect fortify issue 

string id= Request.QueryString["id"]; 

if (!string.IsNullOrEmpty(id)) 
-- here the issue 
Response.Redirect(webform.aspx?id=" + HttpUtility.HtmlEncode(id)); 

あなたは助けてくださいことはできますか?

+1

「エンコード」とは?何が問題なのですか?あなたは何を試しましたか、何が動いていませんか? – David

+0

私は要求に応じてHPのコードを入れて、別のページにリダイレクトしています。オープンリダイレクトの問題がありますので、エンコードを使用しようとしましたが、作業しています – user1696877

+1

"問題があります" 。どちらも「うまくいきません」。 *あなたのコードはどのように「動作していませんか」?あなたのコードが間違っていることは何ですか?あるサードパーティのツールや人が、あなたの作業コードが何らかの形で間違っていると言っている場合は、そのコードを推薦する必要があります。 – David

答えて

-1
string id= Request.QueryString["id"]; 

int safeId; 
if (!string.IsNullOrEmpty(id) && int.TryParse(id, out safeId)) 
    Response.Redirect("webform.aspx?id=" + safeId.ToString()); 

EDIT:誰かがこの答えをダウン投票、おそらく私は「彼らはint型の値ではない文字列のためにお勧めします」というOPのコメントを指している必要がありますなぜわかりません。

+0

あなたの右のint値の場合idが文字列の場合は値を意味します。例えば、string id = "12345G" – user1696877

関連する問題