Mailinglisten-Archive |
Hi Tobias, > wenn ich das richtig sehe, gelten Sessions immer für einen > Browser auf einem Rechner. Wenn nun der Anwender mehrere Tabs > offen hat oder sein Browserfenster dupliziert, hat er in > mehreren Fenstern dieselbe Session, oder? [..] Wir haben damit auch mal gekämpft, weil wir leider auch in die Session geschrieben haben, wo sich der Benutzer gerade im System befindet. Hat der Benutzer nun zwei Fenster auf und wechselt wild hin und her, dann kann das ganz schön zu Fehlern führen. Leider war die Anwendung fast fertig und wir konnten das nicht mehr so leicht ändern. Also waren wir ganz böse (was mir sehr missfiel) zum Anwender und haben es einfach unterbunden, dass er mehrere Fenster mit derselben Session haben kann. Das haben wir durch eine TID (transaktionsID) gelöst. Bei jedem Click wurde eine neue TID generiert und an jeden Link und in jedes Formular gehängt. Und natürlich in die Session gespeichert. Clickt der Benutzer auf einen Link, so wird die TID des Links mit der in der Session verglichen. Soweit alles ok. Nutzt er jetzt aber 2 Fenster, dann wird nach dem Fensterwechsel die TID des Links nimmer mit der TID der Session übereinstimmen und das Fenster wird gesperrt (bzw. das Fenster wird aus der Anwendung rausgeschmissen). Nicht schön, aber ein Weg, nur ein offenes Fenster pro Session zu erlauben. Gruß Thorsten P.S. Aber ob Du das wissen wolltest, weiß ich jetzt auch nicht :)
php::bar PHP Wiki - Listenarchive