it-swarm-es.com

¿Cómo gestionan Pressflow Drupal sitios) las cookies de usuario?

¿Es esto algo manejado por Drupal? ¿Qué configuraciones de PHP, Apache, Varnish afectan las cookies?

Además, ¿cuál es la diferencia en el manejo de cookies entre plain-Vanilla Drupal y Pressflow?

Estaba viendo eso en drupal_session_commit() boostrap.inc llamadas session_destroy () :

session_destroy() destruye todos los datos asociados con la sesión actual. No desarma ninguna de las variables globales asociadas con la sesión, ni desarma la cookie de sesión. Para usar las variables de sesión nuevamente, se debe llamar a session_start().

Para cerrar la sesión por completo, como cerrar la sesión del usuario, la ID de la sesión también debe estar desarmada. Si se usa una cookie para propagar la ID de sesión (comportamiento predeterminado), entonces la cookie de sesión debe eliminarse. setcookie() puede usarse para eso.

Aparentemente en Pressflow se llama a drupal_session_commit () en cada página de esta manera:

// Perform end-of-request tasks on every page.
drupal_page_footer(), common.inc
    // Write the session, and open one if needed.
    drupal_session_commit(), bootstrap.inc
        // If our user is anonymous, Pressflow "Destroys empty anonymous sessions"
        // Destroy all data registered to a session
        session_destroy(); 
            // Called by PHP session handling with the PHP session ID to end a user's session.
            sess_destroy_sid($sid), session.inc

¿Qué implicaciones, si hay alguna, tiene esto para el seguimiento de usuarios en software como Omniture y Google Analytics?

Vea la publicación relacionada con las cookies aquí: https://stackoverflow.com/questions/871283/how-do-tracking-cookies-work

Enlace a la documentación de Pressflow.

5
amateur barista

Las cookies/sesiones son manejadas por ambos Drupal y PHP. Drupal registra algunas funciones que PHP llamará, cuando ciertas cosas tiene que suceder, como destruir una sesión de usuarios. PHP maneja la mayoría de las cosas básicas y Drupal anula algunas de ellas, almacena las sesiones de los usuarios en la base de datos.

No estoy familiarizado con Omniture, pero si se parece a GA, una sesión/cookie de usuario no afectará en absoluto el seguimiento. Las cookies se utilizan para identificar al usuario, por lo que no tienen que escribir su nombre de usuario/contraseña en cada página. Sin cookies, Drupal no podría distinguir a los usuarios y necesitaría alguna otra forma de identificación, como un inicio de sesión para cada nueva carga de página.

Es por eso que algunas personas intentan robar cookies, ya que es lo mismo que hacer que el usuario inicie sesión y abandone la computadora, dado el acceso completo del ladrón.

3
googletorp

1) ¿Es esto algo manejado por Drupal?

Drupal maneja las cookies, pero solo maneja su propia cookie de origen. Como dijo @googletorp, Omniture y Google Analytics usan sus propias cookies.

2) ¿Qué PHP afecta las cookies?

drupal_session_initialize(), en boostrap.inc llama a session_set_save_handler(), que anula la sesión predeterminada de PHP que maneja las funciones con Drupal.

En Pressflow, al final de cada página, se llama drupal_page_footer(). El código muestra que si el usuario es anónimo, Pressflow elimina la identificación de la sesión actual de la base de datos y vacía las cookies que puedan haberse configurado. Consulte sess_destroy_sid() en session.inc.

) ¿Qué ajustes de barniz afectan las cookies?

Tanto Google Analytics como Omniture pueden generar estadísticas de visitantes sin cookies porque las estadísticas se generan mediante solicitudes de imágenes codificadas (balizas web). Sin embargo, para rastrear estadísticas persistentes (con qué frecuencia x usuario visita mi página), Omniture emite una cookie con un ID de usuario único - y cuando ese usuario vuelve a mi página, me presenta esa cookie y puedo decir "OK, el usuario x me visitó por segunda vez esta semana, y por tercera vez este mes, y así sucesivamente". Esto se hace usando cookies persistentes, que son un archivo real que se encuentra en la computadora del usuario.

El problema con Varnish es que generalmente está configurado para eliminar las cookies de la solicitud porque si la solicitud viene con una cookie adjunta, Varnish no sirve una página en caché . Debido a que Omniture establece estas cookies para cada usuario, significa que si no elimina la cookie de Omniture de la solicitud, Varnish nunca servirá una página en caché.

Entonces, puede rastrear estadísticas persistentes o encontrar una manera de pasar esa cookie a través de Varnish y, sin embargo, lograr servir la página en caché, que es algo de lo que aún no he oído hablar.

1
amateur barista

La verdadera respuesta es que tanto Google Analytics como Omniture utilizan cookies específicas (no las cookies utilizadas por Drupal) y realizan su seguimiento de forma completamente independiente de las sesiones Drupal).

El nuevo manejador de sesión introducido por Drupal 7 (y más tarde respaldado a Drupal 6) en Pressflow) no interfiere ni con Google Analytics ni con el seguimiento de Omniture de los usuarios.

Por las mismas razones, la eliminación de cookies en Varnish no interfiere con el seguimiento de los usuarios.

0
Damien Tournoud

Todos los componentes manejan cookies de usuario en diferentes niveles.

Los navegadores web configuran las cookies y se aseguran de que se pasen a las siguientes solicitudes según los criterios de los dominios y la fecha de vencimiento (como parte de un encabezado HTTP).

Drupal lee las cookies a través de PHP ( setcookie / session_destroy ) funciona y autentica a los usuarios.

Varnish analiza las solicitudes entrantes y decide si la página debe almacenarse en caché o no, y puede tener la lógica de mantener, modificar o descartar todas las demás cookies que Drupal no necesita saber. Aquí hay un ejemplo Lógica de barniz (en .vcl config de archivo) como resultado de configurando Drupal con barniz :

  1. Agregue un punto y coma al frente de la cadena de cookies.
  2. Elimine todos los espacios que aparecen después de punto y coma.
  3. Haga coincidir las cookies que queremos conservar, agregando el espacio que eliminamos anteriormente. (\ 1) es el primer grupo coincidente en el regsuball.
  4. Elimine todas las demás cookies, identificándolas por el hecho de que no tienen espacio después del punto y coma anterior.
  5. Elimine todos los espacios y puntos y comas del principio y el final de la cadena de cookies.
  6. Si no quedan cookies restantes, elimine el encabezado de la cookie. Si no hay encabezados de cookies, el comportamiento predeterminado de Varnish será almacenar en caché la página.
0
kenorb