PHP-sessions

Die Scriptsprache PHP für die Gestaltung von dynamischen Websites.

PHP-sessions

Beitragvon Michael » Mi 11 Sep, 2002 19:40

Um in PHP mit Sessions zu arbeiten, braucht man eigentlich nur 3 Funktionen:
session_start
session_register
session_destroy

1. Wie lange bleibt so eine Session am Server erhalten? Schliesslich braucht sie ja Resourcen, da für jede Session ein temporäre Datei angelegt wird.

2. Wie kann ich verhindern, dass sich ein User zweimal zur gleichen Zeit einloggt? Da muss es doch so eine Funktion geben wie
session_global_username($username)==true?"Alles ok":"Fehler: user ist schon eingeloggt"
oder so in der Art.

mfg
Michi
Michael
 

RE: PHP-sessions

Beitragvon Tom » Do 12 Sep, 2002 20:51

Wie lange Sessions erhalten bleiben kannst du im httpd.conf einstellen
Tom
 

RE: PHP-sessions

Beitragvon [KB]Flipper » Mo 16 Sep, 2002 02:14

Falls jemand eine gute Erklärung / Howto / sonstwas zu Sessions hat: ich bitte darum. In meinem Buch (PHP4, Jörg Krause) war dieses Kapitel miserabel beschrieben.
mfg
[KB]Flipper
[KB]Flipper
 

RE: PHP-sessions

Beitragvon Michi » Mi 18 Sep, 2002 13:43

Ich programmiere mir das Sessionmanagement selbst mit cookies und dateien.
sieh dir dazu die Dokumentation von setcookie, fopen, fgets, fputs, fclose an.
Wichtig ist es auch, alle Nutzereingaben auf ihre Gültigkeit zu überprüfen, d.h. z.B. keine Leerzeichen oder "?=)(/&%&%!§"$€|<>usf. im Usernamen.

mein cookie hat den namen $LID (=login id) und die value "$username $sid" also z.B. "Michi 174fb293cdff093aaadcddd378902132"
Durch den Namen kann ich die Datei "Michi.sid" wiederfinden und mit der Sessionid in dieser Datei vergleichen. Gleichzeitig überprüfe ich das Datum des letzten Zugriffs und merke dabei, ob die Session noch gültig ist. Wenn nicht wird $username gelöscht, so dass das script weiß, dass der User nicht eingeloggt ist. Die ganze regelmäßige Authentifizierung geschieht im Script auth_keep.php (bei mir) das ich in jedem relevanten php-file includiere ( Include("auth_keep.php"); )

Das session-file (.sid) wird durch das login script (auth_login.php) erzeugt, sofern es noch nicht vorhanden ist. Das login-script liest die Datei "Michi.user" und überprüft mein eingegebenes Passwort mit dem Passwort in der user-Datei. Falls alles korrekt ist, erzeugt es ein session-file und setzt ein cookie. Beides natürlich mit der gleichen Session-ID.

Die user-files (.user) werden mit auth_reg.php erzeugt.

Ich hab das alles noch nicht programmiert. Das alles hier ist nur der Plan meines Programms. Ich schätze es dauert ein paar Monate soetwas zu programmieren (zumal ich nur in meiner Freizeit PHP-scripts schreibe).

Grüßi, Michi
Michi
 

RE: PHP-sessions

Beitragvon [KB]Flipper » Mi 18 Sep, 2002 14:11

Ein paar Monate ist übertrieben würd ich mal sagen - außer du hast verdammt wenig Freizeit :D
aber thx, horcht sich interessant an! (auch wenn ich beim ersten überfliegen noch nicht alles kapiert habe)
mfg
[KB]Flipper
[KB]Flipper
 

RE: PHP-sessions

Beitragvon Michi » Mi 18 Sep, 2002 16:26

nein ich hab viel Freizeit, aber ich bin PHP-Anfänger. Das ist also mein erstes PHP-Programm. Ich bin aber kein Programmier-Anfänger mehr, hab schon viel in C++ programmiert, was doch ein wenig ähnlich ist.

und es wird ein paar Monate dauern, weil ich noch diverse Zusatzfunktionen einbauen möchte (Forum, Chat, PHP-Dateimanager, uvm.) und alles natürlich mit einem anspruchsvollen Design ;-)

Viele Grüße
Michael
Michi
 

RE: PHP-sessions

Beitragvon [KB]Flipper » Do 19 Sep, 2002 13:37

ok :) und nachdem ich gestern ca. 4 Stunden für ein Mini-Bildbrowser-Script gebraucht hab glaub ich sofort das mit den paar Monaten ;)
mfg
[KB]Flipper
[KB]Flipper
 


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste