Jump to content

Requerimiento legal en España - Sesion permanece abierta a la vista de posteriores usuarios


waldawalda

Recommended Posts

Buenas.

 

Estoy trabajando en una tienda y está siendo auditada por un despacho de abogados especializado en comercio electrónico LSSI y LOPD en España. Me indica que la sesión permanece abierta si cierra completamente el navegador y vuelve a entrar.

 

Prestashop permite determinar el tiempo de la cookie front office en horas, con un mínimo de 1 hora (cero no funciona). Pero si alguien compra durante 10 minutos , no cierra sesión y después entra otra persona (ordenador público) verá los datos personales del anterior usuario.

 

El abogado me indica que esto no es admisible en términos de seguridad con la actual ley y que debo hacerlo como en otras tiendas, en las que esto sí que ocurre.

 

He podido comprobar que en tiendas web españolas así ocurre, pero no en aquellas hechas con Prestashop que he podido visitar.

 

¿Alguna solución o comentario?

 

Gracias

Link to comment
Share on other sites

¿Has revisado esto:

 

http://www.prestashop.com/forums/topic/293519-log-out-when-window-browser-is-closed/?do=findComment&comment=1814709

 

/classes/Cookie.php

 

 

For people looking for solution for 1.6 version

 

 

change the setexpire to this

    public function setExpire($expire)
    {
        $this->_expire = 0;
    }

 

 

que dice jaychennai?

Edited by Sergio Ruiz (see edit history)
Link to comment
Share on other sites

Gracias. No funciona Sergio Ruiz. Lo acabo de probar con Chrome y sigue abierta la sesión. He probado casi todo lo que hay al respecto en español en este foro y en otras webs y nada funciona.

 

La clave está en que un nuevo usuario no vea los datos personales del anterior, si este olvida cerrar sesión. Así funciona en otras tiendas y parece que es un requisito para cumplir la ley.

Link to comment
Share on other sites

Gracias. No funciona Sergio Ruiz. Lo acabo de probar con Chrome y sigue abierta la sesión. He probado casi todo lo que hay al respecto en español en este foro y en otras webs y nada funciona.

 

La clave está en que un nuevo usuario no vea los datos personales del anterior, si este olvida cerrar sesión. Así funciona en otras tiendas y parece que es un requisito para cumplir la ley.

Entiendo el problema, estoy buscando por el foro ingles, que normalmente suele tener mas cobertura, al existir mas usuarios. (Lo que te comente, lo encontre en el foro ingles xD)

Link to comment
Share on other sites

Buenas, lo que se podría hacer es mandar una alerta por javascript si el usuario hace por cerrar el navegador... para poder cerrarlo ha de clickear en el botón correspondiente y así ejecutas la función logout antes de que el navegador sea cerrado...

 

Un saludo

 

 

PD: Es más fácil y conveniente aborregar que enseñar... vaya leyes más chuscas que tenemos.

Gracias Enrique. Eso es una posible solución. Me gustaría saber si existe una un poco menos intrusiva que una ventana de alerta, pero me la apunto.

Link to comment
Share on other sites

Lo que encuentro a faltar es la opción de "Recordarme en este ordenador" verdad? Porque en todas las tiendas tienes la opción de mantener la sesión aunque cierres la página.

Si. Eso resolveria la cuestion legal segun el abogado. Hay otras tiendas (como la de unos famosos grandes almacenes españoles, por no hacer publicidad) en la que, si cierras el navegador y vuelves a abrir , tienes que volver a identificarte obligatoriamente. No hay acceso a ultima sesion abierta ni a esos datos personales, ni te permite recordarlos en tu ordenador (aunque tal vez siga abierta internamente porque el carrito de la compra sí que lo recuerda).

Edited by waldawalda (see edit history)
Link to comment
Share on other sites

Buenas a tod@s, parece que se puede conseguir sin mucho lio... no lo he probado en vivo pero parece funcionar.

 

1. En el menú de Administración -> Preferencias ponemos la cookie del front office a 0.

 

2. Ahora, abrimos el archivo Cookie.php de la carpeta classes y en la línea 65 veremos el _expire así:

$this->_expire = is_null($expire) ? time() + 1728000 : (int)$expire;

Lo dejamos así:

$this->_expire = is_null($expire) ? time() + 0 : (int)$expire;

Y con esto parece funcionar. En el caso de que así sea, convendría crear un override para esto.

 

Saludos.

Hola Enrique. Lo acabo de probar en vivo con mi web, pero no me funciona. Tanto en Chrome como en Opera la sesión sigue abierta con usuario y carrito lleno. ¿puede probarlo alguien más? (por si acaso tengo alguna directriz mal configurada en el servidor) Gracias

Link to comment
Share on other sites

Buenas waldawalda, yo lo he probado con IE, Firefox, Chrome, Safari y Opera en sus últimas versiones y me funciona... Una ves hayas cambiado lo de la clase Cookie, límpia todas las caches del Prestashop incluyendo el class_index.php de la carpeta cache.

 

Saludos.

Voy a volver a intentarlo y te pregunto Enrique Engblom: He vaciado las caché y cookies en parametros avanzados/rendimiento ¿para limpiar el class_index.php cómo he de hacer? ¿Borro su contenido y lo grabo de nuevo vacío o borro ese archivo directamente? (soy algo novato) Gracias

Edited by waldawalda (see edit history)
Link to comment
Share on other sites

Tan solo elimina el archivo por ftp mismamente, al recargar la página el Prestashop generará uno nuevo.

 

Saludos

Pues sigue sin funcionarme. En un segundo intento borré toda la carpeta llamada caché para probar y ya no me cargaba la página. Al volver a restaurarla vía FTP sigue sin cargar la web. Parece que he estropeado toda la instalación y tendré que empezar de cero. Ahora tengo un problema mayor... Menos mal que no es una tienda operativa aún.

 

Uso prestahop 1.6, no se si alguien más se anima a probar. Es posible que sea un problema de mi instalación, pues seguía abierta la sesión incluso borrando class_index.php 

 

Gracias Enrique por tu tiempo.

Edited by waldawalda (see edit history)
Link to comment
Share on other sites

Hola a todos!

 

Voy a investigar con nuestro representante en España sobre este tema y se los comunico en cuanto tenga una respuesta. Gracias por traer el tema a nuestros foros, haré lo posible para solucionarlo.

 

Waldawalda, con tu permiso, me gustaria cambiar el titulo del tema para que refleje mejor el tema que estamos tratando adentro.

 

Gracias y saludos.

  • Like 1
Link to comment
Share on other sites

Hola a todos!

 

Voy a investigar con nuestro representante en España sobre este tema y se los comunico en cuanto tenga una respuesta. Gracias por traer el tema a nuestros foros, haré lo posible para solucionarlo.

 

Waldawalda, con tu permiso, me gustaria cambiar el titulo del tema para que refleje mejor el tema que estamos tratando adentro.

 

Gracias y saludos.

Perfecto, muchas gracias. Entiendo que el titular puede sonar alarmista, aunque es básicamente un requerimiento legal el que me trae a plantearlo y creo que puede ser de interés para todos. Lo importante es que encontremos una solución para evitar consecuencias jurídicas imprevisibles. En mi caso poder resolver concluir este proyecto en prestashop, que me parece una solución de comercio muy completa y versátil respecto a otras que he probado. 

Link to comment
Share on other sites

Gracias por tu paciencia. Mientras busco una solución, aprovecho para aclarar que la razón por la cual he ajustado el titulo es porque no es lo mismo un "requerimiento legal" que un programa declarado "ilegal". Espero sepas entender esta modificación.

 

Los tendré al tanto en cuanto tenga un informe de lo que está sucediendo.

Link to comment
Share on other sites

Buenas de nuevo, tan solo borras la caché y compilacion desde el  back office y eliminas a mano el archivo class_index.php (por que no estoy seguro de que al borrar las caches lo elimine)... No has de borrar nada más y menos una carpeta...

 

A mí me funciona lo que te he comentado en la versión 1.6.0.9 del Prestashop, a ver si alguien se anima a probarlo y nos cuenta.

 

Un saludo.

 

Cuando dices borrar la cache al class_index.php, te refieres al archivo que se encuentra en la carpeta cache de la web?

 

Eso de la compilación desde el back office donde es exactamente??

 

 

Un saludo y gracias...

Link to comment
Share on other sites

Buenas waldawalda, yo lo he probado con IE, Firefox, Chrome, Safari y Opera en sus últimas versiones y me funciona... Una ves hayas cambiado lo de la clase Cookie, límpia todas las caches del Prestashop incluyendo el class_index.php de la carpeta cache.

 

Saludos.

 

Hola Enrique, yo lo he echo tal cual dices, solo borrar desde ftp el archivo class_index.php y desde BO limpiar cache y cookies.

 

Y no me cierra la sesión.

Link to comment
Share on other sites

Pero ahora que vuelvo a leer el tema, lo que comente en la primera respuesta del tema: http://www.prestashop.com/forums/topic/390397-requerimiento-legal-en-espa%C3%B1a-sesion-permanece-abierta-a-la-vista-de-posteriores-usuarios/?do=findComment&comment=1908092 sacado del foro ingles, tampoco andaba tan perdido xDDDD

 

Realmente no he podido probar todavia el asunto, porque no he tenido tiempo, pero agradezco a Enrique la solución que nos ha dado.

 

Gracias !

Edited by Sergio Ruiz (see edit history)
Link to comment
Share on other sites

Lo probaré en cuanto recupere mi instalación. No me funcionó, pero si hay a quien ya le ha funcionado, algo debí hacer mal. Si alguien más se anima a probarlo sería estupendo. Gracias a Enrique , Sergio y todos por su ayuda.

 

Pongo el asunto como resuelto. Sería deseable que se pueda resolver esto sin tener que modificar vía FTP en el futuro.

Link to comment
Share on other sites

Alguien me podría explicar que hay que hacer exactamente para que no se quede la sesión iniciada?

Es que soy nuevo en todo esto y me lío un poco, sobre todo con lo de borrar la cache o no, es que no lo tengo muy claro.

 

 

Un saludo y gracias...

Link to comment
Share on other sites

Pues lamento abrir este hilo otra vez, pero tras recuperar mi instalación, he probado modificar esa linea en clasess/cookie.php ,hacer clear caché smarty en PARAMETROS AVANZADOS/RENDIMIENTO, borrar el archivo class_index.php de la carpeta caché y después borrar los archivos temporales y cookies de mi navegador. Hecho esto, me identifico como usuario en mi tienda, cierro completamente el navegador, saliendo de chrome y al volver a abrir sigue apareciendo mi logín "hola Luis" y acceso a mis datos. En un mac con yosemite, probado en chrome, safari y opera, con prestashop 1.6.0.5 

 

Para más señas uso el tema TRANSFORMER y los módulos de prestashop addons:  One Page Checkout for Prestashop y Ley Europea de Cookies (Aviso + Bloqueador de Cookie)

 

Si alguien más puede probar este tema le estaría muy agradecido para saber si esto es un problema que ocurre únicamente con mi tienda.

 

Gracias

Link to comment
Share on other sites

Buenas waldawalda, no será por que el módulo de ley de cookies que usas lleva algún override para la clase Cookie?... desconozco si es así o nó.

 

Un saludo.

Hola Enrique. He desinstalado ese módulo para probar esto que me sugieres y que me pareció interesante. He vuelto a limpiar cache, borrar class_index, borrar archivos temporales de navegador, login, cerrar, entrar , pero la sesión sigue abierta. Uso un hosting VPS en OHV (por dar más detalles).  

 

He probado hacerlo con check IP adress activada y desactivada(por si esto influye) y siempre con duración de la cookie front office y bakoffice a 0

Link to comment
Share on other sites

  • 2 weeks later...

Ya lo se, pero si no lo solucionan ellos, o mientras lo solucionan, deberian darnos una solución...

 

 

Saludos...

 

Me como mis palabras, haciendo lo que decía el compañero, borrando ese fichero y modificando los parámetros desde el back office, ahora me funciona siempre que se cierre el navegador, no basta con cerrar la pestaña.

Link to comment
Share on other sites

Pero es que no se que archivo hay que borrar  y que es lo que hay que hacer exactamente, me puedes echar una mano?

 

Un saludo..

 

Hola,

 

Te copio y pego la respesta de otros compañeros.

 

 

1. En el menú de Administración -> Preferencias ponemos la cookie del front office a 0.

 
2. Ahora, abrimos el archivo Cookie.php de la carpeta classes [prestashop/classes/Cookie.php] y en la línea 65 veremos el _expire así:
 
$this->_expire = is_null($expire) ? time() + 1728000 : (int)$expire;
 
Lo dejamos así:
 
$this->_expire = is_null($expire) ? time() + 0 : (int)$expire;
 
 
Tienes que irte a [prestashop/cache] y borrar el archivo
 
class_index.php
 
 
Es posible que tengas que cerrar el navegador, borrar el historial y caché, e incluso reiniciar el equipo. Te creas una cuenta de cliente de la tienda, te logueas, cierras el navegador totalmente, no sólo la pestaña donde está prestashop, vuelves a abrir el mismo navegador y debería aparecerte la opción LOGIN y no la LOG OUT.
Edited by CarlosZGZ (see edit history)
Link to comment
Share on other sites

Buenas a tod@s, al final ¿esto es o no suficiente para cumplir tan "brillante" ley?.

 

Saludos

Hola Enrique.

 

La instrucción del despacho, tal como refleja la ley es "adoptar todas las medidas posibles para evitar la filtración de datos de un usuario". El argumento es que esta medida es "posible" dado que otras webs lo llevan a cabo (zara, corteingles...) donde un usuario que cierre el navegador evita que sus datos se filtren a otro en un ordenador público, salvo que por expreso deseo del mismo la sesión quede abierta (como pasa en gmail, hotmail, etc...) es decir, por acción del mismo. Algo parecido a lo que pasa con el consentimiento informado que hay que poner bajo la suscripción de las newsletters para cumplir con la LOPD.

 

Totalmente de acuerdo de que es otra "brillante" ley

 

SI alguien encuentra más información al respecto o puede aclarar este punto, estaría bien. Las leyes que rigen el comercio electrónico en España son algo ambiguas en su redacción y generan una inseguridad legal respecto a posibles interpretaciones que obligan a los abogados a ser muy cautos en sus indicaciones, entiendo yo.

 

Yo aún no he conseguido que funcione, no se si por algún override, permiso de escritura, otro módulo o qué. He pedido ayuda a un programador para que revise mi configuración a ver si encontramos solución, incluso he clonado la web en otro hosting por si era la configuración del VPS y por ahora nada.

Link to comment
Share on other sites

Buenas, entiendo lo de "adoptar todas las medidas posibles para evitar la filtración de datos de un usuario"... pero eso tiene un límite a parte de la interpretación que se le pueda dar. Si el usuario deja el navegador abierto por "despiste/ignorancia", ¿quién es el responsable a ojos de esta "brillante" ley?...

 

Bueno, dejando de lado el tema de la ley. Con los pasos que te he dejado anteriormente lo puedes conseguir, como te decia en uno de los post. ¿No tendrás un override de la clase Cookie en la carpeta override?.

 

Aparte, la pregunta del millón. ¿Es esto suficiente para cumplir dicha ley?

 

Saludos

Gracias. Voy a mirar esto de override, no tengo mucha experiencia. Según me indican, el despiste debemos preverlo. Es como lo de que debemos prever que entienda que usamos cookies o que ha entendido los términos del contrato antes de confirmar el pago. Debemos prever que el usuario puede tener una torpeza "pasiva"olvidando hacer algo antes de cerrar la página que deje sus datos personales visibles. Con este ajuste la tienda sería legalmente aceptable según ellos. 

Link to comment
Share on other sites

Hola a todos. Queria comentar que al fin me funciona! He probado la linea que apuntaba Sergio Ruiz

 

change the setexpire to this

   public function setExpire($expire)
    {
        $this->_expire = 0;
    }

 

Borrando el archivo de cache, como indica Enrique (limpiar cache incluyendo el archivo class_index.php de la carpeta cache) y esta ha sido la manera para mi. Por si a alguien no le funcionaba la otra solución.

 

No entiendo muy bien el motivo, pero así es. Muchas gracias a todos.

Edited by waldawalda (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 7 months later...
  • 8 months later...

BUENAS

 

 

A mi me pasaba lo mismo conla version 1.6.1.5 y comprobé que era por la interferencia de un modulo en mi caso el "extra tabs" que afectaba a la página del producto, asi que por si acaso yo revisaria el ultimo modulo instalado antes de este erroro si algun modulo provoca dicho fallo

 

 

Por si le sirve a alguien

 

www.dieteticaonlinebarcelona.es

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...