King^Lully: Sessions und Sicherheit

Beitrag lesen

  1. Ist es möglich, von einem fremden Server aus PHP-Skripte (z. B. Konfigurationsdateien, in denen die Zugangsdaten für die Datenbank stehen) mit fopen auszulesen und den Quellcode anzuzeigen? Wenn das möglich ist, wie läßt sich das verhindern?

Das ist theorethisch möglich, aber die Installationsroutinen achten darauf, dass genau das nicht passiert. D.h. man müsst den Webserver schon entsprechend konfigurieren, was man aber nicht tun sollte.

  1. Wie verhält es sich, wenn von einem Rechner zwei Logins mit unterschiedlichen Benutzerangaben stattfinden (unterschiedliche Personen)? Muß vor session_start() mit session_name() eine Name gesetzt werden, damit unterschiedliche Cookies gesetzt werden?

Da werden serverseitig zwei Sessions gefahren. Bei den Cookies weiss ich nicht so genau, ob da ein Cookieaustausch möglich ist, Cookies sind rechner-, nutzer- und browsergebunden, wenn ich mich nicht täusche.

Wenn diese Vorgehensweise richtig ist, kann dann ein zweiter Benutzer desselben Rechners trotzdem irgendwie in die Session des ersten Benutzer reinkommen?

Die Sessiondaten sollten nicht lokal gespeichert werden, wenn Sessioncookies gespeichert werden, könnte das passieren, allerdings gibt es wohl auch verschlüsselte, sichere Cookies.

Wie kann das Skript nach dem Einloggen unterscheiden, auf welchen Cookie es zugreifen soll?

Es findet nur eine oder keine rechner-, nutzer- und browsergebunden Cookie.

Muß es in einer Session-Variable eine Kennung für den Nutzer mitspeichern, um danach den richtigen Nutzer zu erkennen?

Nein, Sessions sind von Berechtigungssystemen, wie es übrigens auch dieses Forum kennt zu trennen, Cookies sind kleine Helfer.

  1. Keine Frage zur Sicherheit, sondern zum Umgang mit Session-Cookies: Angenommen, Cookies sind abgeschaltet. Der User schickt das Einlogg-Formular ab. Das Skript prüft, ob ein Cookie gesetzt wurde. Wenn ja, findet die Überprüfung der Zugangsdaten statt. Wenn nein, wird der User auf die fehlende Cookie-Unterstützung hingewiesen und das Formular erneut ausgegeben. Der User schaltet Cookies ein und sendet das Formular ab. Nun wurde aber kein Cookie gesetzt (wenn der User das Formular nicht selbst nach Cookie-Einschaltung aktualisiert hat). Die Folge ist: Das Skript bemängelt wieder nicht eingeschaltete Cookies. Kann man das umgehen?

Indem Du Sitzungen ohne Cookies fährst bspw. Das oben geschilderte Szenario habe ich aber nicht ganz verstanden, ist ohnehin nicht mein Spezialgebiet.