Que opinan de usar session_regenerate_id() por cada petición a nuestra web?

Iniciado por Ethicalsk, 1 Noviembre 2017, 05:10 AM

0 Miembros y 1 Visitante están viendo este tema.

Ethicalsk

Buenas! Los que sepan de PHP saben que session_regenerate_id() sirve para cambiar el ID de la sesión. Quería saber que opinaban del hecho de regenerar la sesión por cada cosa que hago, es decir por cada petición que mando. Si voy a login que cambie el id, si voy al panel de buscar usuarios, que se cambie el id, si voy a alguna funcion para listar algo, que se cambie, si voy a mi perfil, que se cambie... Qué opinan de hacer esto? Para mi es muy útil para mitigar robos de la cookie de sesión mediante sniffing cuando no usamos https... Pero tal vez hacer las cosas de éste modo tenga puntos en contra que no esté considerando.

Saludos!

engel lex

es buena tecnica... pero tiene un problema... le das en el navegador al botón de volver, o hay un error en la solicitud y el usuario queda desconectado... es preferible que el id sea un hash de un fingerprint del navegador y que siempre deba coincidir (la solicitud del navegador contra su fingerprint) y si quieres evitar un mismo cookie repetido, usas el hash del fingerprint + tiempo (somo si fuera un salt) pero no lo haces por petición sino cada 5 o 10 minutos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Ethicalsk

Muchisimas gracias engel lex! La desventajas que mencionas son bastante malas al parecer. Pero si usas un fingerprint del browser el atacante que llegue a sniffar no podría enviar una petición con las mismas cabeceras que la víctima y tratar de recrear el hash en base a dichas cabeceras? Qué parte tomarías de las cabeceras para generar el hash y que funciones de php usarias? Perdón por preguntar tanto, pero se que tenés experiencia en desarrollo y me podes ayudar a entender una buena forma de manejar las sesiones.

Gracias nuevamente y saludos!