Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0000143WEB-ShopFrontendöffentlich13.08.2011 19:29
Reporterxantiva Bearbeitung durch 
PrioritätnormalSchweregradUnschönheitReproduzierbarimmer
Status bestätigtLösungwird nicht behoben 
Produktversion1.0.4 
Zielversion1.1 
Zusammenfassung0000143: Session ID wird immer angehängt, wenn Cookie nicht erzwungen wird
BeschreibungMit 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;
}
TagsKeine Tags zugeordnet.

Eintrags-Beziehungen

verwandt mit 0000187 erledigtxantiva Entfernen der Session ID XTCsid aus dem Shop, nur noch mit Cookies arbeiten. 
blockiert 0000134 erledigtxantiva Der Breadcrumb-Link "Startseite" hängt die Session ID oder SID an 

Notizen / Dateien

xantiva

14.09.2009 20:39

Administrator   ~0000079

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 ;)

xantiva

21.08.2010 12:05

Administrator   ~0000270

Prüfen, ob nicht bereits erledigt? 1.0.6?

xantiva

26.10.2010 19:19

Administrator   ~0000322

Wenn die "Cookie Benutzung erzwingen" deaktiviert ist, werden immer noch die Session IDs ständig angehängt.

xantiva

26.10.2010 19:25

Administrator   ~0000323

Wenn überhaupt, dann werden wir das ganze nicht in der kommenden Version realisieren. Siehe auch 0000187. Dann würde die sowieso komplett rausfliegen.

Eintrags-Historie

Ä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