Pregunta

Al pasar variables de una página a otra

Para evitar que el usuario juegue con los valores de los parámetros de URL

¿Es mejor ...

1) pasar la variable mediante sesión

2) pasar la variable en la URL junto con una firma

¿Fue útil?

Solución

Siempre que esté pasando una firma, no importa dónde esté pasando los valores porque siempre comprobará la integridad de la firma

Lo que haría es pasar todo (incluida la firma) en la sesión.Solo para mantener limpia la URL.Pero eso depende de usted y de su caso de uso particular.

Otros consejos

Si usa la sesión, el usuario no puede controlar el contenido de los valores.

Además, si tiene ver el cifrado de estado habilitado, puedeusa el estado de vista.La ventaja del estado de vista es que está localizado en una sola página.Esto significa que cuando el usuario tiene dos pestañas abiertas de su sitio web, las variables se localizan en las pestañas específicas.

Consulte http://www.codeproject.com/KB/viewstate/AccessViewState.aspx para saber cómo acceder al estado de la vista desde otra página.

Depende de su caso de uso.La sesión es en la mayoría de los casos más segura.Si alguien puede comprometer su servidor para obtener los datos de su sesión, entonces tiene diferentes cosas de las que preocuparse.Sin embargo, sería malo si almacena los datos de la sesión en un lugar donde otras personas puedan verlos ;-).

En teoría, la firma de la URL podría ser forzada.Dado que los parámetros son probablemente cortos y a veces pueden ser predecibles, puede dar a alguien que sepa sobre cifrado algún punto de ataque.Sin embargo, esto no es trivial.Pero si la seguridad es la mejor opción para usted, no permitiría que estos datos salgan de su servidor.

Si realmente le preocupa que el usuario se vuelva loco y elimine los parámetros, puede optar por los estados de sesión, sin embargo, puede perder el historial, es decir, los botones Atrás Adelante.

La segunda opción se ve bien, pero si el usuario está eliminando cosas, no puede estar seguro de que el parámetro existiera.

Entonces, una combinación de ambos se ve bien.

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