Mailinglisten-Archive |
Hallo, ich habe hier ein merkwürdiges problem mit sessions. ich habe ein kleines chat-system, bei dem bislang usernamen und encryptetes passwort per get-parameter an der url verteilt werden, was natürlich nicht völlig sicher ist. also soll das ganze auf sessions umgestellt werden. dazu habe ich folgendes gemacht: - jede seite die die userdaten verwenden soll enthält ein session_start(). - die seite die den user einloggt setzt die variablen für user und passwort und registriert danach die beiden variablen in der session - jede seite die den user auf eine andere adresse schickt oder frames aufbaut enthält nicht mehr die angabe für user und pw in get-form das funktioniert soweit recht gut. der cookie wird gesetzt, die sessiondatei nach /tmp geschrieben und die frames werden aufgebaut. die seiten innerhalb der frames verwenden folglich brav die session-variablen. sobald allerdings ein posting abgeschickt wird oder ein link angeklickt wird hängen entweder der browser oder der server. in opera sieht es so aus, als würden manche dateien (nicht reproduzierbar) gar nicht erst beim server angefragt werden. ich klicke auf einen link der das komplette frameset neu aufbaut und erhalt als ergebnis die frameset-definition nebst 2 gefüllten frames. laut apache-access-logfile werden die anderen dateien erst angefragt, nachdem ich das laden im browser abgebrochen habe. netscape 4 macht es ähnlich: auch dort kommen die anfragen nicht zum server durch oder nicht beim browser an. im gegensatz zu opera schafft netscape allerdings nicht einmal den erstaufruf der seite, somit zwar ein login nebst setzen des cookies und starten der session, aber kein aufrufen der seiten innerhalb der frames. verwendet wird php4.1.1 unter freebsd mit aktuellem apache. die konfiguration von php ist nur gering abgeändert, so ist die laufzeit für sessions auf 14 stunden eingestellt. dazu noch eine weitere frage: user können im chat vier stunden away sein, also maximal vier stunden ohne aktion im chat verbringen. ich möchte nun die session-files nach etwas über vier stunden löschen. kann ich dafür die gültigkeit auf vier stunden setzen und php löscht dann die session-files vier stunden nach dem letzten zugriff auf dieses file oder zählt php ab der erstellung der session, so dass ich einen weitaus höheren wert eintragen muss? server ist der lokale rechner, so dass netzprobleme ausscheiden. für ein paar tipps wäre ich sehr dankbar, da ich mehr als überfragt bin. die beispiele von devshed.com (ohne frames allerdings) funktionierten problemlos.
php::bar PHP Wiki - Listenarchive