Best Practices mit Sessions

26. Juni 2010 um 11:22 Uhr von Wolfgang Stengel zu PHP, JavaScript
Aus inaktuellem Anlass heute mal ein wenig Text zu Sessions. Was Sessions sind, wie man sie für PHP konfiguriert und startet und so weiter dürfte jedem PHP-Entwicker klar sein. Darüber hinaus gibt es jedoch ein paar Kniffe die vielleicht nicht jeder direkt im Blickfeld hat. Dazu gehören meiner Meinung nach diese Punkte:
  • Sessions sollten nur gestartet werden wenn ein User ein POST-Formular (z.B. einen Login) absendet. Dies gilt insbesondere wenn die Session auch ohne Cookies mit trans_sid (als GET-Parameter) getrackt wird. Dies ist wichtig, da sonst Suchmaschinen unbeabsichtigt Sessions starten und die Seiten mehrfach aufgrund der unterschiedlichen IDs erfassen.
  • Sessions sollten gestoppt werden wenn sie ohnehin leer sind, z.B. nach einem Logout oder wenn bei einem Shop alle Artikel aus dem Warenkorb entfernt wurden. Dies erhöht die Performance unter anderem da die entsprechende temporäre Datei auf dem Server gelöscht wird.
  • Wird trans_sid verwendet ist es bei JavaScript-Weitereitungen (etwa document.location.href) notwendig die Session-ID manuell anzuhängen, da der PHP-Parser JavaScript nicht versteht und ohne Cookie die Session dann verloren gehen würde.
PHP Wolfgang Stengel