Frage zu PHP-Session Variablen/Dateien

mkoeni1

Erfahrenes Mitglied
Hallo Leute,

ich habe eine Frage und benötige Eure Hilfe.
Ich stelle mir gerade folgende Frage. Ist es jederzeit möglich Session-Dateien einzusehen?
Wenn ich im Rahmen eines lokal (http://127.0.0.1) installierten Apache2 PHP-Webentwicklung betreibe und verschiedene Werte in eine Session-Datei schreibe.
PHP:
$_SESSION['user'] = "Mustermann";
finde ich diese Datei beispielsweise lokal in den weiten meines Linux-System unter:
Code:
/var/lib/php5
bspw. unter dem Namen:
Code:
 sess_7c1634d95d10221abfb80866d1aa9ec6
.

Diese Datei ist doch Server spezifiziert, oder? Wenn jetzt bspw. GMX mit Session-Variablen arbeiten würde, hätte ich keine Chance diese lokal auf meinem System zu sehen, oder? Ich müsste mich hierzu auf die Serverseite begeben.


Vielen Dank und Gruß
Matze

Mir stellt sich diese Frage, weil ich das Passwort eines Users in deiner Session-Variable im Klartext halte!!
Alternativen?
 
Session-Daten werden nicht zum Client uebertragen, somit dort auch nicht gespeichert. Die einzige Session-bezogene Information die zum Client geschickt wird ist der Session-Cookie.
Du brauchst Dir entsprechend also in dieser Hinsicht keine Gedanken machen.

Trotzdem frage ich mich warum Du das Passwort in der Session speicherst. Damit der User eingeloggt bleibt ist das nicht noetig, da reicht die UserID vollkommen aus.
 
Hi,

Trotzdem frage ich mich warum Du das Passwort in der Session speicherst
Ja das muss man sich fragen. Ich hatte mir da so überlegt, Passwörter werden als SHA-1 Hash in der DB gespeichert. Um sein PW zu ändern, wird es einmal angezigt (Sterne für Zeichen **** = test) und dann muss man es 2 mal neu eingeben.
Wenn ich jetzt **************************** für das PW anzeige könnte das zu Irritationen führen, weil der User denkt, Mom das ist nicht mein PW. zu diesem Zweck halteich es mir im Klartext in der Session. Eigentlich Schwachsinn!! Ich könnte direckt beim Anlegen die Zeichen mit:
PHP:
$count_pw = count($_POST['passwort']);
zählen und dafür Sternchen zur Anzeige bringen.

Danke und Gruß Matze
 
Ich persoenlich finde es unnoetig im Feld wo das aktuelle Passwort eingetragen werden soll Sternchen darzustellen. Diese muss dann naemlich entweder der User selbst loeschen (nervig fuer den User) oder man muss es per JavaScript machen wenn das Feld aktiviert wird (technische Anforderung an den User).
 
Es wäre sinnvoller neben der Eingabe des neuen auch eine Bestätigung der Aktion durch Eingabe des alten Passworts zu bekommen. Und dazu musst du auch nichts in der Sitzung speichern. Dazu reicht der Hash-Wert in der Datenbank völlig aus, den du mit dem Hash-Wert der Eingabe vergleichen kannst.
 
Hi,

@Gumbo: ich sichere die Eingaben des neuen PW mit der des alten PW ab. So habe ich mir das gedacht! Dann kann ich das PW im Klartext aus der Session werfen ;-))

Danke für die nette Hilfe

Matze
 
Ausgeben würde ich das alte übrigens auch nicht. Auch würde ich keine Andeutung auf die Länge des Passworts machen. Wenn dir ein Passwort anvertraut wird, sollte es den Server nie wieder verlassen. Das heißt auch es sollte nicht per E-Mail oder sonst wie verschickt werden.
 
außer die E-Mails mit den generierten, zurückgesetzten PWs.

Ihr Passwort wurde auf l98Zs7PT zurückgesetzt. Bitte ändern Sie dieses nach einer erneuten Anmeldung hier!

oder so ähnlich ;-)))

Gruß Matze
 
Nein auch das ist keine gute Idee. Besser ist es dem Benutzer einen zeitlich begrenzt gültigen Einmalschlüssel zu schicken, mit dem er auf einer am besten verschlüsselten Seite sein Passwort ändern kann.
 
Einmalschlüssel der sich in der Datenbank hält, bis er geändert wurde?
Und ein Timestamp gibt ein Zeitfenster vor in dem dieser gültig ist und geändert werden kann. Erlischt das Zeitfenster wird nach der gleichen Methode verfahren, oder?
verschlüsselten Seite
HTTPS?

Gruß Matze
 

Neue Beiträge

Zurück