2012-04-18 4 views
7

Tenemos una aplicación Magento que está emitiendo doble Set-Cookie. Aquí están los encabezados:Double Set-Cookie en Magento, lo que lleva a un problema de inicio de sesión para algunos usuarios

HTTP/1.1 200 OK 
    Date: Wed, 18 Apr 2012 21:04:28 GMT 
    Server: Apache/2.2.3 (CentOS) 
    X-Powered-By: PHP/5.2.10 
    Set-Cookie: frontend=iti6c00cdm6cc79hfl1pl9pq52; expires=Wed, 18-Apr-2012 22:04:28 GMT; path=/ 
    Expires: Thu, 19 Nov 1981 08:52:00 GMT 
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
    Pragma: no-cache 
    Set-Cookie: frontend=iti6c00cdm6cc79hfl1pl9pq52; expires=Wed, 18-Apr-2012 22:04:28 GMT; path=/; domain=**example.com** 
    Connection: close 
    Transfer-Encoding: chunked 
    Content-Type: text/html; charset=UTF-8 

En algunas circunstancias, después de iniciar sesión, la segunda cookie se establece en frontend = deleted. Según mi lectura, parece que dos frontend = cookies no son un "problema", este es el comportamiento estándar de Magento. Desde mi lectura de la especificación, la segunda interfaz = cookie sobrescribirá la primera si su alcance/especificación es la misma.

¿Alguna idea de dónde podemos empezar a investigar este problema para ver por qué la segunda interfaz = la cookie no se comporta como la primera?

La versión de Magento es la versión empresarial de ver. 1.9.0.0

preguntas relacionadas

+0

¿Cuál es el comportamiento del usuario? ¿Redirigido de nuevo a iniciar sesión? ¿Estás usando Lightspeed u otro almacenamiento en caché? –

+0

Tengo un problema similar, donde la cookie está configurada dos veces. Esto parece provenir del hecho de que lightspeed.php crea una cookie cuando no hay ninguna. Esto ocurre fuera del marco de Magento, lo que da como resultado que la cookie se establezca dos veces. –

Respuesta

0

¿Quieres anular galletas Fronten ... si es así mejor tratar de destruir primero la cookie y luego ajustarla de nuevo usando el método Magento

Mage :: getModel ('core/cookie') -> set ('frontend', $ session-> getCustomer() -> getId(), 100000 * 24 * 3600);

3

Esto sucede cuando las comprobaciones de validación de sesión fallan - la cookie a continuación, se aclaró con el "borrado" de valor y una fecha de caducidad en el pasado:

La siguiente información será verificada por Magento para validar una sesión:

  • la dirección IP del cliente que se conecta al servidor
  • la "vía" HTTP-Header
  • la "X-reenviado-para" Jefe
  • El "User-Agent" Encabezado

Si uno (o más) de estas informaciones cambios durante las solicitudes para el mismo ID de sesión, la sesión será descartada, la cookie se borrará de la manera como se describe y el servidor enviará un encabezado Redirect a la página de inicio.

Puede cambiar qué información validar en el Panel de administración de Magento yendo a Sistema> Configuración> Web. Pero debe nunca desactivar todos los controles ya que esto permitirá el secuestro de la sesión.

Cuestiones relacionadas