Pregunta

He estado usando Request.Form para todo mi código. Y si necesito una cadena de consulta, también la golpeo explícitamente. En una revisión de código surgió que probablemente debería usar la colección Params en su lugar.

Pensé que era una buena práctica, ir directamente a la colección apropiada. Estoy buscando algún refuerzo a un lado u otro del argumento.

¿Fue útil?

Solución

Es más seguro usar Request.Form. Esto evitará que los usuarios experimenten " con parámetros de formulario publicados simplemente cambiando la URL. El uso de Request.Form no lo hace seguro para "hackers reales", pero en mi humilde opinión, es mejor usar la colección de formularios.

Otros consejos

Al usar las propiedades bajo la solicitud, está reduciendo su recuperación a la colección adecuada (lo que es bueno para la legibilidad y el rendimiento). Considero que su enfoque es una mejor práctica y lo sigo yo mismo.

Siempre he usado     Request.Form (" Param ") o     Request.QueryString (" Param ")

Esto es puramente una sintaxis que es más fácil de leer. Dudo seriamente que haya un impacto en el rendimiento.

La única vez que uso Request.Params en lugar de Form o Querystring es si no sé si el método por el cual los parámetros serán pasados.

Para poner eso en contexto, en 10 años he usado Request.Params con ira solo una vez :)

Bondad,

D

Creo que es mejor usar las colecciones Form y QueryString explícitamente, a menos que esté tratando explícitamente de definir un comportamiento flexible en su aplicación, como en un formulario de búsqueda donde es posible que desee tener los parámetros de búsqueda definibles en una URL o guardados en cookies como las preferencias de paginación.

Usaría Request.Form y Request.QueryString explícitamente. La razón es que los dos no son intercambiables. La cadena de consulta se utiliza para las solicitudes de obtención de HTTP y las variables FORM para las solicitudes de publicación de HTTP.

Las solicitudes de obtención suelen aplicarse cuando solicita datos, p. hacer una búsqueda en google, las palabras de búsqueda están en la cadena de consulta. La publicación es cuando envía datos al servidor web para su procesamiento o almacenamiento. Entonces, cuando digo que los dos no son intercambiables, quiero decir que no puedes cambiar la página de usar GET a POST sin romper la funcionalidad.

Entonces, en mi humilde opinión, la implementación de la página puede reflejar con bastante claridad el hecho de que tiene la intención de que se llame mediante una solicitud GET o POST.

/ Pete

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top