Hi!
Allerdings sollte bei jedem Request die Gültigkeit des Accounts überprüft werden und es sollten die aktuellen Rechte geladen werden, wenn man diese nicht sogar bei Abarbeitung des Requests für jede benutzte Funktion einzeln prüft.
Da stellt sich für mich die Frage: Wie sicher sind denn nun eigentlich die Variablen, die ich in einer Session speichere. Sind diese (mit lohnendem Aufwand) manipulierbar?
Es geht nicht um die Manipulationsfähigkeit, sondern darum, dass du dem Benutzer im laufenden Betrieb die Berechtigungen ändern kannst. Ansonsten wird er erst bei neuer Abfrage wegen neuer Session neue Berechtigungen erhalten. Und ihm die Session-Datei zu löschen ist nicht so einfach, wenn du deren ID nicht irgendwo dem User zugeordnet gespeichet hast.
Bedeutet das, dass die Session-Variablen manipulierbar und somit alles andere als "sicher" sind?
Mir ist keine Möglichkeit der Manipulation durch speziell formatierte Requests bekannt. Somit hängt alles von deiner Programmierung ab.
Um die Sessionsicherheit zu erhöhen, kann man mit jedem Request eine neue Session-ID zuweisen
Geht aber stark zu lasten der Benutzbarkeit. Bringt ja bereits dann Probleme, wenn ein User zwei Tabs parallel laufen lassen will.
Das ist der Kompromiss zwischen Sicherheit und Komfort. Komfortabel wäre es auch, wenn Anwender nur Namen und kein Passwort eingeben müssten, aber die Sicherheit ist dann verständlicherweise bei Null.
Lo!