Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > (Serverseitige?) Probleme mit der Sessionverwaltung
Antwort
 
Themen-Optionen
Alt 26.12.2006, 14:58   Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard (Serverseitige?) Probleme mit der Sessionverwaltung

Hallo,
da es nun doch schon mehrfach vorgekommen ist wollte ich mein Problem hier mal erläutern, vielleicht wisst ihr was das sein kann.
In diversen Scripts von mir ist es schon einigen Usern (auch des öfteren) passiert, dass sie plötzlich als ein ganz andere User eingeloiggt waren, als sie tatsächlich sind. Dabei ist dieser User immer ein ganz bestimmter.

Ich weiß nicht, wie dieser Session-"Switch" passieren kann, die sessionIDs sind ja immer unique und werden automatisch vergeben (vielleicht sollte ich dsa ändern?).

Dabei macht der User nichts bestimmtes - er klickt im UserMenü rum, und lpötzlich ist er ein der besagte, andere User - erst nach aus- und neu einloggen hat er wieder seine alten SessionDaten. Woran könnte das liegen?
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 15:20   Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 588
Standard

Hmmm, Session-Timeout ?
(nur eine Vermutung)
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 15:31   Nach oben    #3
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Wird da eventuell irgendeine schlecht programmierte Session-Klasse verwendet, so dass die SID plötzlich gar nicht mehr "unique" ist, sondern irgendwie manuell zusammengebautwird?

Weiß ja nicht, was da so intern abläuft.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 20:02   Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Es wird (zurzeit) kein manuelles Session-Handling betrieben - es werden die Links automatisch von PHP angehängt falls der User keine Cookies akzeptiert, und auch sonst die sessionIDs standardmäßig und unique von PHP generiert im normalen Hash mit normaler Länge ..

Zitat:
Hmmm, Session-Timeout ?
(nur eine Vermutung)
Wie meinst du das CIX88?
Nach einem Session-Timeout kann ich doch nicht einfach eine andere Sesssion zugewiesen bekommen ..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 20:46   Nach oben    #5
Erfahrener Benutzer
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 789
Standard

Ich würd mich dran machen und möglichst viele Informationen zusammentragen. Du könntest z.B. Referer, Session-Id, Zeiten, $_GET, $_POST und $_COOKIE loggen, sobald der bestimmte Benutzername in der Session steht.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 21:37   Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 588
Standard

Zitat:
Wie meinst du das CIX88?
Deswegen auch nur eine Vermutung ...

Die Session hat ein zu kurzen Timeout, darauf hin wird eine neue erstellt.
Was dann zufällig eine von einen anderen User ist.
Die Lebendauer einer Session ist wohl auch Serverseitig einstellbar.
Kann natürlich auch völlig falsch liegen.

Hatte ähnliche Effekte schon mal selber erlebt, da lag es an der Umstellung von Cookies zu Session-Cookies.
Weis der Geier, was da passiert ist.

Interessanter wären Einzelheiten zu wissen.
Also wo, wann, bei was und bei wem es passiert ist.

Möglich dass auch eine IP-Geschichte dahinter steckt bzw. Abfrage einer IP mit Login-Daten etc...

Wie ist denn überhaupt das Login-System aufgebaut ?
Werden die Session-Daten gespeichert und irgendwo wieder abgefragt ?
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 23:22   Nach oben    #7
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Hm okay ..
Also über die IP wird nichts geregelt.
Der User hat immer eine Session - auch wenn er nicht eingeloggt ist (weil da auch mal was gespeichert werden soll) und wird hier mittels session_start() generiert - PHP übernimmt den Rest, ich benutze (noch) kein manuelles SessionManagement.
Der LogIn läuft ganz einfach so ab:

Der User gibt UserName & UserPassword in das Formular ein. Das übermittelt die Daten dann, die werden mit der Datenbank abgeglichen. Stimmen die eingegebenen Daten überein -> werden Daten wie iUserID, sUserName in die Sesssion geschrieben - stimmen die Daten nicht überein, kriegt er halt ne Fehlermeldung. Beim ausloggen wird die session zerstört (session_destroy()).

Während der User eingeloggt ist, wird die Session nicht verändert - nur ausgelesen. Und irgendwann (interessant dabei ist, dass es anscheinend kein regelmäßes Auftreten gibt, es muss also bestimmte Umstände geben) wechselt der User dann zu dem einen bestimmten User - oder auch nicht, es passiert ja sehr selten. Dabei spielt es keine Rolle auf welcher Seite sich der User befindet und/oder klickt ..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 23:48   Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Zitat:
Dabei ist dieser User immer ein ganz bestimmter.
Vieleicht bist du ein Opfer eines XSS Angriffs...? Könnte doch sein, wenn man immer wieder als ein bestimmter Benutzer anbgelmeldet ist.
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2006, 23:53   Nach oben    #9
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Das fände ich dann aber seltsam .. Denn es kann bei allen Usern auftreten - und es ist mir schon bei mehreren Projekten nur auf diesem Server aufgefallen.. Vielleicht sollte ich mich mal mit dem Support dort in Verbindung setzen ..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2006, 01:37   Nach oben    #10
Erfahrener Benutzer
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 789
Standard

Und der Benutzer, den die Benutzer dann "werden" ist immer der selbe?

Oder ist es immer die selbe Session-ID, zu der da plötzlich gewechselt wird?

Wechselt die SID überhaupt oder steht plötzlich nur eine andere UID drinnen?

Hat dieser spezielle Benutzer zufällig die ID 0?

Hast du denn das Übliche korrekt umgesetzt? Vor allem ein sicheres Verzeichnis für deine Session-Daten definiert? (Hört sich aber so an, als hättest du den anderen üblichen Klimbim nicht beachtet: Korrektes Zerstören der Session, session_regenerate_id(true) beim ein- und ausloggen etc.

Gibst du die SID bei Location-Headern mit? (Könnte ja sein, dass du es dort oder bei anderen Aktionen, wo session.use_trans_sid nicht greift vergisst und dass dadurch was durcheinander kommt)

Was sagen die Logs, falls schon eingebaut?

Hilfreich vielleicht auch, einfach nur mal time - ip - SID - $_SESSION bei jedem Request zu loggen. Da könntest du dann auswerten, wo sich bei gleicher IP die SID ändert, wo sich bei gleicher SID die UID ändert etc.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2006, 01:45   Nach oben    #11
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Und der Benutzer, den die Benutzer dann "werden" ist immer der selbe?
Ja, darüber hab ich mir auch schon Gedanken gemacht.
Zitat:
Wechselt die SID überhaupt oder steht plötzlich nur eine andere UID drinnen?
Hab ich noch nicht loggen können - werde morgen einen derartigen Logger mal einbauen.
Zitat:
Hat dieser spezielle Benutzer zufällig die ID 0?
Nein, die ID 3.
Session-Ordner liegt natürlich unter root, Session wird auch korrekt zerstört ..
Logger werd ich morgen mal hinzufügen.

Die Sache ist die - ich glaube nicht dass es an diesem SCript liegt, sondern eher am Server. Die Sache ist nämlich schon häufiger vorgekommen, mit diversen Scripts, auf diesem Server (ich bin shared).
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2006, 02:25   Nach oben    #12
Erfahrener Benutzer
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 789
Standard

Zitat:
Zitat von Chr!s Beitrag anzeigen
Session-Ordner liegt natürlich unter root
Nicht verwunderlich unter Linux. Da liegt jede Datei unterhalb von root. *g

Die Frage ist halt, ob du die Daten z.B. in /tmp legst, in dem alle Benutzer auf dem Server lesen und schreiben können und so ggf. auch auf deine Session-Dateien zugreifen können.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.12.2006, 11:38   Nach oben    #13
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Zitat:
Zitat von Chr!s Beitrag anzeigen
Die Sache ist die - ich glaube nicht dass es an diesem SCript liegt, sondern eher am Server. Die Sache ist nämlich schon häufiger vorgekommen, mit diversen Scripts, auf diesem Server (ich bin shared).
Fragt man sich woher du das weißt und zweitens, ob man da nicht auch mal ansetzen sollte. Also herausfinden, ob nicht jemand, der das Problem schonmal hatte, eine Lösungen für dasselbe gefunden hat.

Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Strato / Arcor? MrNiceGuy Plauderecke 15 28.12.2006 23:35
Caching mittels dbm-Dateien, Probleme mit dba_popen() Ben PHP-Programmierung 4 27.07.2006 13:23
Probleme mit Anhängen Ben Archiv 0 16.06.2006 16:13
Probleme mit KeyListener Xean Allgemeine Java-Programmierung 4 26.03.2006 19:05
Layout Probleme VipViper2000 Desktop-Applikationen und Grafik 8 13.09.2005 22:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:22 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44