it-swarm-eu.dev

Jak Pressflow Drupal weby zpracovávají soubory cookie uživatele?

Zvládne to něco Drupal? Jaká nastavení PHP, Apache, Varnish ovlivňují cookies?

Jaký je rozdíl v zacházení s cookies mezi plain-Vanilla Drupal a Pressflow?

Viděl jsem to v drupal_session_commit() boostrap.inc volání session_destroy () :

session_destroy() zničí všechna data spojená s aktuální relací. Nezruší to žádné globální proměnné spojené s relací ani nezruší cookie relace. Chcete-li znovu použít proměnné relace, je třeba zavolat session_start().

Aby bylo možné relaci úplně zabít, stejně jako odhlásit uživatele, musí být ID relace také deaktivováno. Pokud je k šíření ID relace používán soubor cookie (výchozí chování), musí být soubor cookie relace odstraněn. K tomu lze použít funkci setcookie().

Zdá se, že v Pressflow je drupal_session_commit () vyvolán na každé stránce, jako je tato:

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

Jaké důsledky, pokud existují, mají důsledky pro sledování uživatelů v softwaru, jako je Omniture a Google Analytics?

Zobrazit související příspěvek k souborům cookie zde: https://stackoverflow.com/questions/871283/how-do-tracking-cookies-work

Link k dokumentaci Pressflow.

5
amateur barista

Cookies/relace jsou zpracovávány jak Drupal, tak PHP. Drupal zaregistrujte některé funkce, které PHP zavolá, když se musí stát určité věci, jako je zničení relace uživatelů. PHP zpracovává většinu základních věcí a Drupal přepíše některé z nich, uloží relace uživatelů do databáze.

Nejsem obeznámen s Omniture, ale pokud se jedná o něco jako GA, relace uživatele/soubor cookie sledování sledování efektů vůbec ne. Cookies se používají k identifikaci uživatele, takže nemusí psát své uživatelské jméno/heslo na každé stránce. Bez souborů cookie by služba Drupal nemohla uživatele rozeznat a potřebovala by jinou formu identifikace, jako je přihlášení pro každé nové načtení stránky.

To je důvod, proč se někteří lidé pokoušejí ukrást cookies, protože je to stejné, jako když se uživatel přihlásí a opustí počítač, protože zloděj má plný přístup.

3
googletorp

1) Je to něco, co zvládne Drupal?

Drupal zpracovává soubory cookie, ale zpracovává pouze vlastní soubor cookie první strany. Jak řekl @googletorp, Omniture a Google Analytics používají své vlastní soubory cookie.

2) Co PHP ovlivňují cookies?

drupal_session_initialize(), na boostrap.inc volá session_set_save_handler(), který přepíše výchozí funkce zpracování PHP PHP s Drupal.

Na stránce Pressflow se na konci každé stránky volá drupal_page_footer(). Kód ukazuje, že pokud je uživatel anonymní, Pressflow vymaže aktuální ID relace z databáze a vyprázdní všechny nastavené soubory cookie. Viz sess_destroy_sid() on session.inc.

) Jaká nastavení Varnish ovlivňují cookies?

Google Analytics i Omniture jsou schopny generovat statistiky návštěvníků bez souborů cookie, protože statistiky jsou generovány pomocí pevně zakódovaných požadavků na obrázky (webové majáky). Avšak , aby bylo možné sledovat trvalé statistiky (jak často x uživatel přichází na mou stránku), Omniture vydá cookie s jedinečným ID uživatele - a když se tento uživatel vrátí na svou stránku, předloží mi tento soubor cookie a mohu říci „OK, uživatel x mě navštívil tento týden podruhé, potřetí v tomto měsíci atd.“. To se provádí pomocí trvalé soubory cookie, což je skutečný soubor, který sedí v počítači uživatele.

Problém s Varnish je v tom, že je obvykle nastaven tak, aby odstranil cookies z požadavku, protože , pokud žádost přichází s připojeným souborem cookie, pak Varnish nezobrazí stránku v mezipaměti . Protože Omniture tyto cookies nastavuje pro každého uživatele tam, znamená to, že pokud nevymažete cookie Omniture z požadavku, Varnish nebude nikdy sloužit v mezipaměti.

Takže buď sledujete trvalé statistiky, nebo hledáte způsob, jak tento cookie předat přes Varnish, a přesto se vám podaří zobrazit stránku v mezipaměti, což je něco, o čem jsem dosud neslyšel.

1
amateur barista

Skutečnou odpovědí je, že Google Analytics i Omniture používají specifické soubory cookie (nikoli soubory cookie používané Drupalem) a jejich sledování provádějí zcela nezávisle na relacích Drupal).

Nový obslužný program relace, který zavedl Drupal 7 (a později backportovaný na Drupal 6)) v Pressflow, nezasahuje do sledování Google Analytics ani Omniture sledování uživatelů.

Ze stejných důvodů neomezuje stripování souborů ve Varnish sledování uživatelů.

0
Damien Tournoud

Všechny komponenty zpracovávají uživatelské soubory cookie na různých úrovních.

Webové prohlížeče nastavují soubory cookie a ujišťují se, že jsou předávány dalším požadavkům na základě kritérií domény a data vypršení platnosti (jako část hlavičky HTTP).

Drupal čte cookies prostřednictvím PHP ( setcookie / session_destroy ) funkce a autentizace uživatelů.

Varnish analyzuje příchozí požadavky a rozhoduje, zda by stránka měla být ukládána do mezipaměti, či nikoliv, a může mít logiku uchovávat, upravovat nebo rušit všechny ostatní soubory cookie, o kterých Drupal nemusí vědět. Zde je příklad Logika lakování (v .vcl config file) jako výsledek konfigurace Drupal s Varnish :

  1. Připojte středník k přední části řetězce cookie.
  2. Odstraňte všechny mezery, které se objeví za středníkem.
  3. Porovnejte soubory cookie, které chceme zachovat, a přidejte místo, které jsme dříve odstranili, zpět. (\ 1) je první odpovídající skupinou v regsuball.
  4. Odstraňte všechny ostatní cookies a identifikujte je podle skutečnosti, že za předchozím středníkem nemají mezeru.
  5. Odeberte všechny mezery a středníky ze začátku a konce řetězce cookie.
  6. Pokud žádné zbývající soubory cookie neexistují, odeberte záhlaví souboru cookie. Pokud neexistují žádné záhlaví souborů cookie, bude výchozím chováním společnosti Varnish ukládat stránku do mezipaměti.
0
kenorb