Gestión de sesiones basada en cookies

Los navegadores web y los sitios de comercio electrónico utilizan HTTP para comunicarse. HTTP es un protocolo sin estado, lo que significa que cada mandato se ejecuta de forma independiente sin ningún conocimiento de los mandatos anteriores. Dado que se trata de un protocolo sin estado, las sesiones se deben gestionar entre el lado del navegador y el lado del servidor. Con la gestión de sesiones basada en cookies, el servidor web envía al navegador un mensaje (cookie) que contiene información del usuario. Este cookie se devuelve al servidor cuando el usuario intenta acceder a determinadas páginas. La cookie permite al servidor identificar al usuario y recupera la sesión del usuario de la base de datos de sesiones, de modo que la sesión del usuario se mantiene. Una sesión basada en cookies finaliza cuando el usuario se desconecta o cierra el navegador. La gestión de sesiones basada en cookies es segura y tiene ventajas de rendimiento con respecto a otras alternativas. Por este motivo, se recomienda la gestión de sesiones basada en cookies para las sesiones de cliente.

Por razones de seguridad, la gestión de sesiones basada en cookies utiliza dos tipos de cookies:

  • Cookie de sesión no seguro
    Se utiliza para gestionar datos de sesión. Contiene el identificador de actividad que apunta a atributos tales como el idioma negociado, la tienda actual y la moneda preferida del cliente en el momento en que se crea el cookie. Este cookie puede desplazarse entre el navegador y el servidor bajo una conexión SSL o no SSL. Existen dos tipos de cookies de sesión no seguros:
    • Una cookie de sesión de WebSphere Application Server se basa en el estándar de sesión servlet HTTP. Las cookies de WebSphere Application Server se conservan en la memoria o en la base de datos en un despliegue de nodos múltiples. Para obtener más información, consulte el tema Session management support.
    • una cookie de sesión de HCL Commerce es interno a HCL Commerce y no permanece en la base de datos. Todos los cookies persisten en la memoria, excepto el cookie persistente. Esta configuración es el valor predeterminado. Esta configuración es necesaria si la reescritura de URL está habilitada.
  • Cookie de autenticación segura

    Se utiliza para gestionar datos de autenticación. El cookie de autenticación se desplaza por SSL e incorpora la indicación de fecha y hora para conseguir la máxima seguridad. Este cookie se utiliza para autenticar al usuario siempre que se ejecute un mandato sensible. Por ejemplo, DoPaymentCmd, que solicita el número de tarjeta de crédito de un usuario. Existe un riesgo mínimo de que Este cookie puede robar y utilizar un usuario no autorizado. HCL Commerce genera siempre cookies de código de autenticación cuando se está utilizando la gestión de sesiones basadas en cookie.

Importante:
  • Antes de la versión HCL Commerce 9.1.6.0, las cookies de WC_AUTHENTICATION y WC_IdentitySignature eran las únicas cookies con el conjunto de atributos seguros.
  • HCL Commerce Version 9.1.6.0 or laterTodas las cookies de sesión ahora tienen el conjunto de atributos seguro. Este comportamiento mejorado se puede deshabilitar, pero no se recomienda.

Se necesitan los cookies de código de autenticación y de sesión para ver páginas seguras.

Para errores de cookie, se llama a CookieErrorView:

  • Cuando el usuario inicia la sesión en otra ubicación con el mismo ID de sesión y no está habilitado el inicio de sesión múltiple.
  • Cuando el cookie está dañado, manipulado o ambos.
  • Si la aceptación de cookie se establece en true y el navegador del usuario no admite las cookies.
Aviso: Algunos navegadores tienen funciones que conservan los cookies de sesión a través de sesiones del navegador. Un ejemplo es la opción Continuar como lo dejé todo antes de cerrar que proporciona Google Chrome. Si bien estas configuraciones no son predeterminadas y requieren que los usuarios les habiliten de forma explícita, pueden crear problemas de privacidad cuando se utiliza el navegador en un lugar público como un cibercafé.

Si el navegador está configurado para no destruir cookies de sesión cuando se cierra, los cookies que se utilizan para el usuario de identificación y la autenticación permanecen activas después de que el navegador se reinicie. En el caso de un usuario registrado, el usuario permanece conectado. En el caso de un usuario invitado, todos los elementos que están asociados al usuario, como por ejemplo carros de la compra, pedidos o direcciones pendientes, permanecen asociados a la sesión en el navegador. Este comportamiento no está causado por el hecho de que el navegador no destruye cookies de sesión y afecta a todos los sitios a los que se accede desde el navegador de la misma manera.

La configuración predeterminada para HCL Commerce es que cuando un usuario se registra o inicia la sesión, los elementos que están asociados al usuario invitado antes de que inicien la sesión se transfieren a la cuenta del usuario registrado. Estos elementos incluyen direcciones, pedidos y artículos de interés. Este escenario puede ser un problema si el navegador es compartido y si está configurado para no destruir los cookies de sesión de cierre. Por ejemplo, un usuario invitado puede realizar un pedido y cerrar el navegador. Al día siguiente, una persona diferente puede abrir el mismo navegador e iniciar la sesión. Puesto que la sesión de usuario invitado permanece activa, sus elementos, incluidos el pedido que se realiza y las direcciones utilizadas, están asociados con el usuario registrado que ha iniciado la sesión.

Para evitar este escenario, están disponibles las opciones siguientes:

  1. Personalice el mandato MigrateUserEntriesCmd , que se utiliza para migrar direcciones, pedidos y artículos de interés de la sesión de usuario invitado actual al usuario que inicia la sesión. Puede personalizar el mandato para que ciertos elementos no se copien sustituyendo el método con una implementación vacía.
  2. Después de que un usuario invitado formaliza un pedido, automáticamente, emita el mandato de desconexión para restablecer la sesión de usuario invitado al usuario genérico.

Los cookies de sesión conservados no presentan el mismo problema para usuarios registrados porque estos compradores pueden utilizar el enlace de desconexión para borrar la información de sesión.

Los navegadores que se ejecutan en dispositivos personales o móviles, como teléfonos móviles o tabletas, tienen los mismos problemas que los compradores que utilizan un navegador en un lugar público. Estos tipos de dispositivos no son generalmente compartidos, por consiguiente, no existe la misma preocupación de privacidad. Sin embargo, los compradores en dispositivos portátiles o personales no suelen finalizar la aplicación del navegador después de examinar un sitio, de modo que los cookies de sesión no se destruyen. Las opciones que se proporcionan para proteger la privacidad de los compradores en un lugar público también se aplica a navegadores que se ejecutan en dispositivos personales o móviles.

Cookies de sesión de HCL Commerce

La tabla siguiente lista cookies de sesión de HCL Commerce. Todas estas cookies son esenciales para el funcionamiento de HCL Commerce. No puede inhabilitarlos. Los cookies de sesión no son persistentes.
Cookies de sesión de HCL Commerce
Nombre de cookie Descripción
_AN_CGID_COOKIE Almacena las categorías visitadas por un usuario, que utilizan posteriormente los códigos de Analytics siguientes: Etiqueta de producto, código de carro de la compra y código de pedido.
REFERRER El valor de referer en la cabecera HTTP.
Cookie de sesión WC_ACTIVEPOINTER Este cookie contiene el valor del ID de tienda de la sesión. Este valor se utiliza para seleccionar la tienda para ejecutar el mandato, si no se ha especificado una en el URL.
  • Valor: langId | storeId
  • Ejemplo: %2d1%2c10601
SESSION_COOKIEACCEPT Comprueba si el navegador del cliente acepta cookies.
Cookie de sesión WC_AUTHENTICATION_ID HCL Commerce utiliza un cookie de autenticación seguro para gestionar datos de autenticación. Un cookie de autenticación sólo fluye a través de SSL. Para mayor seguridad tiene una indicación de fecha y hora con una firma. Este cookie se utiliza para autenticar al usuario a través de conexiones SSL.
  • Valor: userId | hash (sessionKey | userId | timestamp)
  • Ejemplo: 3002%2cy77JGV%2btHlOwnIITNCn%2f%2fiaH2ns%3d
Cookie de sesión WC_GENERIC_ACTIVITYDATA Esta cookie solo existe si es una sesión de usuario genérico (-1002). Este cookie almacena valores de sesión tales como ID de tienda, ID de idioma y contratos.
  • Valor: activityToken | storeId | valores de contexto de negocio
  • Ejemplo: [45123%3atrue%3afalse%3a0%3a4nhN%2fXerGUj5KgGYOnRBVcizyMw%3d][com.ibm.commerce.context.audit.AuditContext|1328734351734%2d2][com.ibm.commerce.store.facade.server.context.StoreGeoCodeContext|null%26null%26null%26null%26null%26null][CTXSETNAME|Store][com.ibm.commerce.context.globalization.GlobalizationContext|%2d1%26USD%26%2d1%26USD][com.ibm.commerce.catalog.businesscontext.CatalogContext|null%26null%26false%26false%26false][com.ibm.commerce.context.base.BaseContext|10601%26%2d1002%26%2d1002%26%2d1][com.ibm.commerce.context.experiment.ExperimentContext|null][com.ibm.commerce.context.entitlement.EntitlementContext|10503%2610503%26null%26%2d2000%26null%26null%26null][com.ibm.commerce.giftcenter.context.GiftCenterContext|null%26null%26null]
Cookie de sesión WC_SESSION_ESTABLISHED Este cookie se crea en la primera solicitud que procesa el tiempo de ejecución de HCL Commerce. Por ejemplo, una petición no caché.
  • Valor: true
Cookie de sesión WC_USERACTIVITY_ID Se trata de un cookie de sesión de usuario que fluye entre el navegador y el servidor a través de una conexión SSL no SSL. Se utiliza para identificación de usuario a través de conexiones no SSL. Contiene valores de sesión de usuario, como por ejemplo la hora de inicio de sesión y la información de identificador de sesión, como el ID de usuario y el ID de tienda.
  • Valor: cookieValue | encrypt (activityToken | cookieValue)

    Donde el valor de cookie es: userId | storeId | passwordInvalidationFlag | attemptedPasswordProtectedCommands | CloneId | logonTime | expiryTime | expiredUserId | preExpiryURL | version | forUserId | activeOrgId |

  • Ejemplo: %2d1002%2c10601%2cnull%2cnull%2cnull%2cnull%2cnull%2cnull%2cnull%2cnull%2csExMBJjdNXecuyL5l71eSlqxmVWzSMmWp%2fdGhAV5JRJd5QHFxL%2f9jNLYYeKI1YtswEqhrSwXXhlp%0d%0aLOcvGb1IzzsfEA0y%2bPirawTDQ6rUaXcsnDRnR0GNayuSSrKf4p%2fEdxvj1CkiM8E%3d
Cookie LTPA2

Cookie de WebSphere Application Server

Este cookie se utiliza cuando HCL Commerce está habilitado para inicio de sesión único con otras aplicaciones del centro de información de WebSphere.
WC_EdgeCacheComponent_storeId Se utiliza para Almacenamiento en memoria caché de Edge.
WC_identitySignature Cookie de sesión del Centro de gestión.
fulfillmentCenterId Centro de despacho de pedidos seleccionado en Accelerator.
LtpaToken2  Señal LTPA de WebSphere Application Server utilizada para inicio de sesión único.
Nota:
  • Todos los cookies de sesión, excepto para WC_SESSION_ESTABLISHED, se puede utilizar en el entorno de vista previa del Centro de gestión. En el entorno de vista previa, el nombre de cookie de sesión tiene el prefijo WCP_. Los cookies soportan sesiones y usuarios en el entorno de vista previa.
  • El valor de cookies de sesión se cifra utilizando la clave de cifrado de sesión. Para obtener más información, consulte ../tasks/tsechangesessionkey.html.

Cookies de la tienda de inicio Aurora

La tabla siguiente lista cookies de la tienda de inicio Aurora.
Cookies de la tienda de inicio Aurora
Nombre de cookie Descripción
analyticsFacetAttributes La lista de facetas que el cliente ha pulsado que hace que los datos estén disponibles para los códigos analiticos en dichas páginas. El cookie se actualiza constantemente hasta que el cliente empieza una nueva búsqueda o empieza una nueva sesión.
analyticsPreCategoryAttributes Atributos previos a la categoría que utiliza Analytics.
analyticsSearchTerm Términos de búsqueda para Analytics.
CompareItems_storeId Los ID de entrada de catálogo que se comparan.
priceMode Modalidad de visualización para mostrar precios en el escaparate.
searchTermHistory El historial de los términos que se han buscado.
signon_warning_cookie Clave de error que se utiliza para recuperar mensajes de error.
WC_ACTIVITYDATA_userId Cookie de sesión que crea y procesa el Store server.
WC_GENERIC_ACTIVITYDATA Cookie de sesión creada y procesada por una tienda local (migrada).
WC_CartOrderId_storeId ID de pedido activo para la tienda.
WC_CartTotal_orderId Subtotal de artículos de pedido (antes de impuestos y envío), número de articulos, idioma, moneda.
WC_DeleteCartCookie_storeId Cookie para forzar la renovación de otros cookies de Minicarro de la compra.
WC_physicalStores Almacenes físicos que el cliente selecciona.
WC_pickUpStore ID de tienda de recogida que el cliente selecciona.
WC_recurringOrder_orderId ID de pedido recurrente.
WC_ScheduleOrder_orderId_interval Intervalo de pedidos planificados.
WC_shipTypeValue Valor de tipo de envío: único o múltiple.
WC_shipTypeValueOrderId orderId que corresponde al tipo de envío.
WC_SHOW_USER_ACTIVATION_storeId Indicador para mostrar mensaje de activación de usuario después del registro de usuario.
WC_OnBehalf_Role_storeId Cookie para rastrear el rol del usuario que ha iniciado una sesión en nombre de.
WC_Base_Text_Direction Esta cookie se crea cuando un comprador establece la Dirección del texto en el panel Idioma y moneda. La cookie se puede utilizar en HTTP y HTTPS.
  • Valor: automático