Frage

Ich habe Request.Form für alle meinen Code verwendet. Und wenn ich QueryString brauche, habe ich das auch explizit getroffen. Es kam in einer Codeüberprüfung auf, dass ich stattdessen wahrscheinlich die Paramssammlung verwenden sollte.

Ich fand es eine beste Praxis, die entsprechende Sammlung direkt zu treffen. Ich suche eine Verstärkung auf der einen oder anderen Seite des Arguments.

War es hilfreich?

Lösung

Es ist sicherer, Request.Form zu verwenden. Dies verhindert, dass Benutzer einfach mit geposteten Formularparametern "experimentieren", indem sie einfach die URL ändern. Verwenden von Request.Form macht dies für "echte Hacker" nicht sicher, aber imho ist es besser, die Formularsammlung zu verwenden.

Andere Tipps

Durch die Verwendung der Eigenschaften unter der Anfrage verengen Sie Ihr Abrufen auf die richtige Sammlung (was für Lesbarkeit und Leistung eine gute Sache ist). Ich betrachte Ihren Ansatz als bewährte Verfahren und folge ihm selbst.

Ich habe immer Request.Form ("Param") oder Request.queryString ("Param") verwendet.

Dies liegt nur auf eine Syntax, die leichter zu lesen ist. Ich bezweifle ernsthaft, dass es einen Leistungseinfluss gibt.

Das einzige Mal, wenn ich benutze Request.Params Anstatt von Form oder Querystring ist, wenn ich nicht weiß, ob die Methode, mit der die Parameter übergeben werden.

Um das in den Kontext zu setzen, habe ich in 10 Jahren verwendet Request.Params nur einmal in Wut :)

Freundlichkeit,

D

Ich denke, es ist besser, das Formular- und QueryString -Sammlungen explizit zu verwenden, es sei denn Vorlieben.

I would use Request.Form and Request.QueryString explicitly. The reason is that the two are not interchangable. The query string is used for HTTP Get requests, and FORM variables for HTTP post requests.

Get requests are typically applicable where you are requesting data, e.g. do a google search, the search words are in the query string. The post are when you are sending data to the web server for processing or storing. So when I say that the two are not interchangable I mean that you cannot change the page from using a GET to a POST without breaking functionality.

So IMHO, the implementation of the page can quite clearly reflect the fact that you intend it to be called by a GET or a POST request.

/Pete

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top