Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2008, 10:41
juanper1
 
Fecha de Ingreso: mayo-2007
Mensajes: 11
Antigüedad: 17 años
Puntos: 0
Problema de seguridad con navegación hacia atrás

Hola! A ver si me hago entender bien




Trabajo con Struts y necesito que el acceso de los usuarios a sus "cuentas" sea seguro. Tengo un formulario para la identificación de los usuarios y seguidamente se ejecuta una action para verificar la correcta identificación. Esa action se llama "identificarUsuario.do". El usuario identificado se mueve a su antojo por su cuenta, se desloguea adecuadamente borrándose todos los datos de su sesión, y si después otro usuario pulsa "atrás" para navegar hacia atrás haciendo un history.forward y lanzar la action "identificarUsuario.do", entra en la cuenta del anterior usuario cuando no debería poder.




La razón por la que ocurre esto la conozco, y es que aunque no permito almacenar páginas en la caché para que todas se pidan al servidor, en dicha petición "identificarUsuario.do" se utilizan los mismos datos que utilizó el anterior usuario en su formulario (id de usuario y contraseña), por lo que se concede un acceso correcto. ¿Cómo evito esto? ¿Cómo se puede diferenciar entre un acceso correcto a través de formulario y un acceso no legal con una navegación "atrás", si en ambas peticiones se envían los mismos datos?

Es curioso, pero si introduzco "identificarUsuario.do" en la barra de direcciones la petición se envía vacía, por lo que no se concede el acceso porque falla la validación (campos vacíos), pero... ¿por qué con la navegación "atrás" se utilizan los mismos datos introducidos por el último usuario aunque en caché no haya nada?

Gracias