Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0000143 | WEB-Shop | Frontend | öffentlich | 14.09.2009 16:34 | 13.08.2011 19:29 |
Reporter | xantiva | Bearbeitung durch | |||
Priorität | normal | Schweregrad | Unschönheit | Reproduzierbar | immer |
Status | bestätigt | Lösung | wird nicht behoben | ||
Produktversion | 1.0.4 | ||||
Zielversion | 1.1 | ||||
Zusammenfassung | 0000143: Session ID wird immer angehängt, wenn Cookie nicht erzwungen wird | ||||
Beschreibung | Mit der Einstellung "Cookie bevorzugen" auf true wird derzeit jeder Kunde ausgesperrt, der keine Cookies akzeptiert. (Korrekterweise müsste die Option Cookie erzwingen heißen.) Setzt man diese Funktion auf false, wird immer die Session ID angehängt. (Außer bei Aufrufen von Crawlern.) Beides ist nicht wünschenswert. Wenn der Browser Cookies akzeptiert, dann sollten diese verwendet werden. Andernfalls sollte die Session ID angehängt werden, sobald eine Session erforderlich wird. (Und dann auch beibehalten.) Problem: Mit nur einem einzigen Aufruf, bekommt man nicht heraus, ob der Browser Cookies akzeptiert. Es ist min. ein Redirect erforderlich. Auf der anderen Seite brauchen wir bei den "normalen" Shopseiten (Kategorien, Produkte) gar keine Session. Die wird nur bei einem Login, wenn was im Warenkorb liegt, etc. erforderlich. Idee: Der Shop startet beim ersten Aufruf nicht zwanghaft eine Session, zumindest wenn man nicht gleich den Warenkorb, etc. aufruft. Bei Seiten, die eine Session erforderlich machen, muss dieses über eine Konstante vor Aufruf der application_top definiert werden. Angefügt ist ein Code-Schnipsel, der die Idee mit der Konstante noch nicht berücksichtigt. | ||||
Zusätzliche Informationen | // start the session $session_started = false; if (isset($_COOKIE['ECB'])) { if ($_COOKIE['ECB'] == 'please_accept_for_session') { // great - the browser accept our cookie unset($_COOKIE['ECB']); } session_name('ECB'); session_start(); include (DIR_WS_INCLUDES.'tracking.php'); $session_started = true; } else { session_name('ECBid'); if(!isset($_REQUEST[session_name()])) { if (!isset($_GET['cookieTest'])) { xtc_setcookie('ECB', 'please_accept_for_session', 0, '/', $current_domain); header('Location: '.$_SERVER['REQUEST_URI'].(length($_SERVER['QUERY_STRING']) == 0 ? '?' : '&').'cookieTest'); exit; } } else { session_id($_REQUEST[session_name()]); } session_start(); include (DIR_WS_INCLUDES.'tracking.php'); $session_started = true; } | ||||
Tags | Keine Tags zugeordnet. | ||||
|
Gerade noch mal ein wenig gesurft: Bei Amazon kann man ohne Cookies nicht einkaufen. Obwohl sie bei deaktivierten Cookies die Session ID mit in die URL packen und Warenkörbe so erhalten bleiben, kann man nicht den Einkaufswagen aufrufen. Das SMF Forum scheint so zu funktionieren, wie von uns angedacht. Erst beim Login wird die Session erzeugt und wenn man ohne Cookies unterwegs ist der URL angehängt. BTW: Bei Mantis kann man sich ohne Cookies nicht anmelden ;) |
|
Prüfen, ob nicht bereits erledigt? 1.0.6? |
|
Wenn die "Cookie Benutzung erzwingen" deaktiviert ist, werden immer noch die Session IDs ständig angehängt. |
|
Wenn überhaupt, dann werden wir das ganze nicht in der kommenden Version realisieren. Siehe auch 0000187. Dann würde die sowieso komplett rausfliegen. |
Änderungsdatum | Benutzername | Feld | Änderung |
---|---|---|---|
14.09.2009 16:34 | xantiva | Neuer Eintrag | |
14.09.2009 16:34 | xantiva | Status | neu => bestätigt |
14.09.2009 20:39 | xantiva | Notiz hinzugefügt: 0000079 | |
14.09.2009 20:44 | xantiva | Beziehung hinzugefügt | blockiert 0000134 |
24.10.2009 16:10 | xantiva | Beziehung hinzugefügt | verwandt mit 0000187 |
21.08.2010 12:05 | xantiva | Notiz hinzugefügt: 0000270 | |
21.08.2010 12:05 | xantiva | Zielversion | 1.1 => 1.0.10 |
26.10.2010 19:19 | xantiva | Notiz hinzugefügt: 0000322 | |
26.10.2010 19:25 | xantiva | Notiz hinzugefügt: 0000323 | |
26.10.2010 19:25 | xantiva | Zielversion | 1.0.10 => 1.0.11 |
09.04.2011 11:01 | xantiva | Zielversion | 1.0.11 => 1.0.12 |
13.08.2011 19:29 | yogi | Lösung | offen => wird nicht behoben |
13.08.2011 19:29 | yogi | Zielversion | 1.0.12 => 1.1 |