Ich würde auf jedenfall die Session rechtzeitig verfallen lassen..... die Verfallszeit kann ja mit jedem Seitenaufruf zurückgesetzt werden.
Evtl. könnte man auch die REMOTE_ADDR mit in die Session aufnehmen, gleichzeitig wird diese beim Login in der Benutzerverwaltung gespeichert und bei jedem Seitenaufruf verglichen.
Stimmt die REMOTE_ADDR nicht mit der in der Benutzerverwaltung hinterlegten überein, wird zur Loginseite umgeleitet.
Nachteil hieran ist natürlich, dass wenn der User zwischenzeitlich eine neue IP bekommt, muss er sich auch neu einlogen.
Ist natürlich kein 100%iger Schutz, aber zumindest wird die Gefahr schon um ein vielfaches minimiert.
Andere (wenn auch schlechte) Möglichkeit, prüfe ob das Coockie gesetzt werden kann.
Wenn nicht, dann machst Du den User darauf aufmerksam dass er Coockies akzeptieren
muss..... andernfalls wird er sich halt nicht einlogen können.
Nur wer lässt sich schon gerne etwas vorschreiben?!
Aber da fällt mir noch etwas ein.....
Wenn Du prüfst ob das Coockie gesetzt wurde.....
Wenn ja, dann kannst Du die Session doch aus der URL rauslassen und die Verfallszeit auf default lassen.
Kann das Coockie aber
nicht gesetzt werden, wird die Session an die URL gehängt und die Verfallszeit auf z.b. 5 Minuten verkürzt.