Jump to content

Login de clientes muestra otros usuarios (Y además no se deslogüea)


Recommended Posts

Buenas,

desde hace unos días estábamos a vueltas con un problema en el que los clientes de una tienda prestashop 1.6.1.18 al intentar logüearse en su cuenta, le aparecía automáticamente la cuenta de otra persona, simplemente al apretar login, con poner datos de acceso entraba en la cuenta de otro cliente distinto y podía ver sus datos, su historial y demás cosas de otra persona. Os podéis imaginar el problemón.

Esto lo detectamos a raíz de un cambio de servidor y en seguida pensamos que se trataba de un problema de caché, utilizamos Cloudflare y todo parecía que de ahí provenía el problema. Pero no, no tiene nada que ver

Detectamos primero que una vez un usuario está logüeado, no se podía deslogüear, al darle al logout se quedaba en la cuenta. Y cuando entrabas desde un incógnito y le dabas a login, accedía a la cuenta del último usuario logüeado.

Después de muchas vueltas y buscar por otros foros, en todos los idiomas conocidos, no encontrábamos la solución. 

Por lo visto todo viene del módulo  mod.expire de apache, y lo solucionamos añadiendo esta línea en htaccess:

ExpiresByType text/html "access plus 0 seconds"

en la última línea, después de lo que escribe prestashop.

Huelga decir que lo mejor es actualizar prestashop a la última versión, pero todas sabemos que esto muchas veces no es posible hacerlo a la velocidad que requiere y lleva tiempo. 

Escribo este post para que si a alguien le vuelve a pasar algo similar, no se pase horas buscando el porqué. En neustro caso lo solucionamos así y ya sabéis, cliente contento, vida feliz!

  • Like 1
Link to comment
Share on other sites

On 12/23/2021 at 3:45 PM, msarmiento said:

Esto lo detectamos a raíz de un cambio de servidor y en seguida pensamos que se trataba de un problema de caché, utilizamos Cloudflare y todo parecía que de ahí provenía el problema. Pero no, no tiene nada que ver

Pues ibais por buen camino, porque lo que hace:

On 12/23/2021 at 3:45 PM, msarmiento said:

ExpiresByType text/html "access plus 0 seconds"

es decirle al navegador que no sirva de la caché ninguna petición html. Normalmente esta es la configuración por defecto, pero he trabajado con proveedores de hosting que para mejorar la velocidad (o al menos intentarlo) de los servidores establecen una caducidad por defecto para las peticiones html (1 día por ejemplo). En ese caso, una vez ha habido una petición, el navegador cachea la respuesta de esa URL y si el usuario vuelve a hacer la misma petición el navegador lo sirve de la caché en vez de hacer la petición realmente. Eso explica el comportamiento que estabais experimentando.

Normalmente sólo se establece una caducidad para ficheros estáticos (css, js, imágenes) para mejorar el rendimiento de carga.

Un saludo.  

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...