Level: mittel

Wie ihr herausgefunden habt, kann man PHP-Sessiondaten durch zusätzliche Massnahmen noch besser schützen, als dies standardmässig der Fall ist, indem man bei der Benennung vom Standard abweicht, das Zeitfenster für potentielles "entführen" der Session minimiert, und sich nicht nur auf das Session Cookie zur Erkennung verlässt, sondern auch noch weitere Daten prüft. 

In dieser Übung sollen diese Massnahmen in zwei Funktionen so vereint werden, dass sie wiederverwendet werden können.

 

Aufgabe

  1. Erstelle eine Datei mit zwei Funktionen: writeSession() und startSession().
    • writeSession() - diese Funktion soll aufgerufen werden, wenn eine Session neu erstellt oder mit neuen Daten beschrieben wird.
    • startSession() - diese Funktion soll aufgerufen werden, wenn auf die Session zugegriffen wird, also da, wo sonst einfach nur session_start() ausgeführt wird.
  2. Liste nun zuerst alle Massnahmen auf, die wir im Unterricht zu Sessions und Cookies gesammelt haben, und entscheide, welche der beiden Funktionen diese ausführen soll.
  3. Schreibe nun zuerst startSession() und teste diese mit einem Login-Script
  4. Schreibe dann writeSession(), und teste diese ebenfalls mit dem selben Login-Script

 

Tipps

  • Füge einen Debug-Parameter in deine Funktion ein, oder erstelle eine Konstante, mit der Du Testausgaben wie echoprint_r() oder  var_dump() aktivieren und deaktivieren kannst beim Testen.
  • Wenn es dir schwer fällt, mit einer Funktion zu arbeiten, erstelle zwei Dateien mit dem namen writeSession.php und startSession.php, schreibe die dazu gehörenden Codezeilen dort hinein, und binde diese mittels include() da ein, wo der Code ausgeführt werden soll. Du kannst die Übung später noch so umschreiben, dass statt den includes die Funktionen aufgerufen werden, wenn du die Codezeilen in den Include-Dateien in eine Funktion geschrieben hast.