Login eindeutiger machen

worki2k1

Erfahrenes Mitglied
Hallo Leute,

ausnahmsweise stehe ich mal auf dem Schlauch. Mir ist es in letzter Zeit ab und zu passiert, dass bei meinem Loginsystem der Benutzer nicht mehr eindeutig zur Session zugeordnet werden konnte. Beispielsweise folgender Fall:

In unserer Firma sind mehrere Leute gleichzeitig im gesicherten Bereich der Webseite gewesen. Plötzlich war beim nächsten Klick eine Person an dem einen Rechner als eine andere Person eingeloggt. Es kann also durch Zufall passiert sein, dass sie die gleiche SessionID bekommen haben, was aber höchst unwahrscheinlich ist.

Ich suche jetzt nach einer Möglichkeit das Login noch eindeutiger zu machen. Weiß jemand einen Wert, den ich vom Clientrechner auslesen kann um eine Variable zum Vergleichen zu haben? Mit reinen Cookies möchte ich eigentlich ungern arbeiten. Ich habe schon versucht den angemeldeten Benutzernamen oder den Rechnernamen auszulesen, aber das klappt nicht. Es sollte auch eine Lösung sein, die für alle Betriebssysteme gilt.
 
Hallo, wie wird denn die Session-ID bei Dir generiert?
Wenn es um das Firmen-Netzwerk geht, könnte man doch die IP des Client-Rechners verwenden, um die Session eindeutig zu benennen.

mfg, snuu
 
Immer auf deine SESSIONIDs achten !
Das Problem was du beschrieben hast, hatte ich nur dann, als mal jemand die SID von einem anderen User "geklaut" hat ;)

Sichern kannst du da leider nicht viel ...
Der normale Weg ist immer eine IP Abspeicherung in der Session, aber der kommt wohl bei einer Firma ( wenn alle über einen Server arbeiten ) nicht in Frage.
Ansonsten hat PHP nicht viele Möglichkeiten einen Rechner "auszulesen", z.B. nach Betriebsspezifischen ( da haben wir es wieder mit dem Plattformübergreifenden Sachen :) ) Merkmalen...
 
Hmm... Mir fällt da direkt eigentlich keine Möglichkeit aus jedem Rechner einen festen Wert auszufiltern... Hmm... Es sei denn... Man könnte vielleicht versuchen, über Samba den Computernamen zu bekommen... Frag mich aber bitte nicht wie...*g*

Es gibt aber sicher ne Möglichkeit, wie du (wie im Titel) die Session ID noch eindeutiger machen kannst.
Soviel ich weis, benutzten die Standartfunktionen der PHP-Session einen Zufallswert, der aus time() gebildet wird. Das heisst: Es darf höchsten eine ID vergeben pro Sekunde, um nicht die gleiche zu erzeugen.
Dem kannst entgegenwirken, in dem du an die Session ID einen wirklich eindeutigen Wert, wie z.B. die Zahl der Seitenaufrufe anhängst.
 
Mir fällt gerade noch was ein: Die Benutzer müssen sich ja anmelden. Jeder mit einem anderen Namen. Codiere doch den Benutzernamen mit in die Session :)
 
Danke soweit erstmal. Die Sache mit der IP ist an dieser Stelle auch einleuchtend, aber das Problem ist wie schon beschrieben, dass es ein Firmennetzwerk ist und nach außen hin jeder die gleiche IP hat. Bringt mir also nicht viel.

Was mich etwas verwundert:
Wenn ich auf unserem Server (1&1 Premium-Paket, also Apache) die phpinfo(); aufrufe bekomme ich unter dem Wert $_SERVER["REMOTE_USER"] den Namen angezeigt, als der ich im Moment angemeldet bin. Setze ich das ganze jetzt in eine eigene Datei auf den gleichen Server mit echo $_SERVER["REMOTE_USER"]; gibt er mir allerdings nichts aus.

Die SessionID selbst werde ich aus mehreren Sachen generieren lassen: Zufallszahlen, MD5-Hashes, usw.
 
Original geschrieben von snuu
Mir fällt gerade noch was ein: Die Benutzer müssen sich ja anmelden. Jeder mit einem anderen Namen. Codiere doch den Benutzernamen mit in die Session :)
Wenn jemand die Session ID dann von einem anderen User durch nen Zufall beokmmt, hat er auch in der Session diesen Code.
Nutzen:
0

:)

Vernichtende Grüße

;)
 
Wenn die Gefahr bestehen sollte, dass die Session-ID einander abgeguckt werden kann, dann kann man doch die Session-ID bei jedem Script-Aufruf ändern. Danach funktionieren zwar die Blätterfunktionen des Browsers (back, forward) nicht mehr, dafür ist's aber recht sicher.

Vernichtende Grüße zurück

snuu
 
Wieso machst das ganze nicht einfach mit Cookies?

Generiere die Session-ID doch einfach mit der IP,Nick,Passwort,Timestamp und Zufallszahl.
Ich bezweifle ganz Stark, dass da User mit derselben ID auftauchen oder sonstige Verwechslung passiert ;)
 
Zurück