PHP Classes

Uso en formulario de logueo

Recommend this page to a friend!

      PHP Form Encryption  >  All threads  >  Uso en formulario de logueo  >  (Un) Subscribe thread alerts  
Subject:Uso en formulario de logueo
Summary:Cuando cierro sesión ya no es posible leer POST en 2do. logueo
Messages:7
Author:Victor Salgado
Date:2016-09-08 15:46:35
 

  1. Uso en formulario de logueo   Reply   Report abuse  
Picture of Victor Salgado Victor Salgado - 2016-09-08 15:46:35
Un gusto, antes que nada muchas gracias por tu gran aporte... Te comento, implemente en un formulario de logueo pero cuando el usuario cierra sesión (hago session_destroy() y regresan a la página de logueo, ya no les es posible ingresar, debugueando veo que recibo correctamente $_POST['cryptoPost'] pero $formId = $crypto->decodeForm(); al parecer no funciona. Intente con $crypto->reset(); sin éxito. Agradezco mucho tu ayuda.

Saludos,

  2. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Victor Salgado Victor Salgado - 2016-09-08 15:52:33 - In reply to message 1 from Victor Salgado
Quité session_destroy() y ya deja entrar, pero supone un hueco ya que se puede ir atras en el historial y retomar la última sesión.

Quedo a tu ayuda.

Saludos.

  3. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Francisco del Aguila Francisco del Aguila - 2016-09-08 16:00:52 - In reply to message 2 from Victor Salgado
Hola, Victor:

Tienes que tener en cuenta que el almacenamiento de la clave AES se realiza a dos niveles:

- A nivel de SERVIDOR, se almacena en una variable de sesión.
- A nivel de CLIENTE, se almacena en el session storage del browser.

La clave AES ha de ser consistente en los dos niveles, y si destruimos la sesión en el server, debemos destruir también a nivel de session storage en el navegador. Esto se hace llamando a la función reset de la clase javaScript:

<script>cryptoPost.reset();</script>

Al destruir la clave en sesión y en storage session se fuerza la creación de nuevas claves.

Un saludo.

  4. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Victor Salgado Victor Salgado - 2016-09-08 16:17:12 - In reply to message 3 from Francisco del Aguila
Súuuuper Francisco! Ya quedó... después del session_destroy() hice un header("location: login?resetKeys=1");

Y en el loguin agregué:

<?php if (isset($_GET['resetKeys'])) { ?>
<script>cryptoPost.reset();</script>
<?php } ?>

Ya funciona pero tengo una última duda... es también necesario

if (isset($_GET['resetKeys'])) $crypto->reset(); ???

Mil gracias por tu ayuda amigo.

  5. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Francisco del Aguila Francisco del Aguila - 2016-09-08 16:27:36 - In reply to message 4 from Victor Salgado
No es necesario, puesto que al destruir la sesión forzamos a la clase PHP a generar de nuevo el par de claves RSA en la llamada al constructor.

Feliz programación!

  6. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Francisco del Aguila Francisco del Aguila - 2016-09-09 08:48:54 - In reply to message 4 from Victor Salgado
Hola de nuevo, Victor!

He actualizado la clase, de forma que ahora detectará automáticamente cuando hay un cambio de sesión. Ahora no necesitas resetear la clave AES en el local storage.

  7. Re: Uso en formulario de logueo   Reply   Report abuse  
Picture of Victor Salgado Victor Salgado - 2016-09-10 01:19:45 - In reply to message 6 from Francisco del Aguila
Gracias totales amigo. Hago el upgrade asap y cualquier cosa te molesto.

Saludos :)