2017-03-02 2 views
-3

Ich arbeite an. Net-Web-Anwendung mit 4.0 Framework. Ich arbeitete an Open Redirect-Problemen, bei denen ich feststellte, dass wir unsere Querystring Parameterwerte codieren müssen.Open Redirect Verstärkung Problem in C#

mein Beispielcode

//Open redirect fortify issue 

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

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

Können Sie mir bitte helfen?

+1

"Kodieren" wie? Was genau ist das Problem? Was hast du probiert und was funktioniert nicht? – David

+0

nur ich umleiten eine Seite auf eine andere Seite, wenn ich den Code in PS Fortify auf Anfrage habe ich ein Problem für Open Redirect, so dass ich versuchen, codieren aber arbeiten – user1696877

+1

"Ich habe ein Problem", beschreibt nicht wirklich das Problem . Weder funktioniert "nicht funktioniert". * Wie * ist Ihr Code "nicht funktioniert"? Welche falsche Sache macht dein Code? Wenn ein Tool oder eine Person eines Drittanbieters Ihnen mitteilt, dass Ihr Arbeitscode in irgendeiner Weise falsch ist, müssen Sie sie fragen, was sie empfehlen. – David

Antwort

-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: Nicht sicher, warum jemand diese Antwort nach unten gestimmt, aber vielleicht sollte ich auf die Bemerkung des OP zeigen, dass „sie für int-Werte nicht Zeichenfolge empfehlen“.

+0

Ihr Recht dies für int-Werte richtig, wenn die ID String-Werte bedeutet für zB string id = "12345G" – user1696877