Tom: Weitergabe der Session-ID per URL funktioniert nicht richtig

Beitrag lesen

Hello,

Du hast Dir ein umfangreiches Paket vorgenommen.
Das "Login" sollte immer von einer übergeordneten Seite der Hierachie aus erfolgen, da dann sowohl ein "Login" auf Basis eines Cookies, als auch ein Login auf Basis einer HTACCESS-Methode möglich ist.

Außerden sollte man fürs erste Sessions und "Login" nicht vermischen.
Die Session dient ausschließlich der Wiedererkennung des Clients, unabhängig davon, welche Rechte er im System genießt. Das "Login" dient der Verifikation der Rechte. Es sollte als stets zeitnah sein daher und bei jedem Request über die Datenbasis neu überprüft werden.

Die Session wird ja auch bei jedem Request überprüft, bedeutet aber nicht, dass der User von einem Request zum nächsten noch dieselben Rechte hat.

[...] Allerdings prüfe ich nicht nur, ob der User eingeloggt ist, sondern auch noch ein paar andere Daten (wie z.B. seit wann er eingeloggt ist)

Meinst Du, wann er sein "Zertifikat" das letzte mal verlängert hat oder wann er es sich angefordert hat? Eine Session wird unter PHP mit jedem Request (der die Sessiondatei verwendet) nachgetriggert.

session_destroy(); // Löschen der alten Session

Willst Du dem User tatsächlich seine mühevolle Vorarbeit löschen, nur weil er mal eine Minute zu lange  überlegt hat?

Für intelligente Systeme solltest Du Session, "Login" und Vorgänge streng voneinander trennen. Mit einem unbeendeten Vorgang kann man den User solange wieder behelligen, bis er ihn beendet oder willentlich abgebrochen hat. Vorgänge sind sessionübergreifend, können aber selbstverständlich auch innerhalb einer Session begonnen und beendet werden.

Login ist nur an den User gebunden, nicht an Vorgänge oder Sessions. Ausschließlich in der Person des Users liegt der Grund für Rechte oder keine Rechte. Mache niemals Userrechte von einer Session abhängig.

Die Session ist nur (Transport-)Träger von RechteVERWALTUNG  und Vorgängen.

Ohne Session wird es keine Rechteverwaltung geben und auch keine Vorgänge.
Spätestens hier haben wir eine Differentialgleichung... :-)

Mal Dir ein Bild für die Zusammenhänge, dann wir des klarer.

Liebe Grüße

Tom vom Berg

--
Nur selber lernen macht schlau