Reaktion login-script

WiZdooM

Erfahrenes Mitglied
Hallo

Ich habe da ein Phänomen, auf das ich keine Antwort weiß.
Teile der Webseite meiner Firma sind nur über Benutzername und Kennwort zugänglich. Jetzt ist es vermehrt vorgekommen, dass Benutzer mich angerufen haben : "Sie können sich nicht einloggen".
Wenn ich mich von mir aus versuche, mich mit deren Daten einzuloggen, geht das ohne Probleme. Doch die Benutzer können es nicht.
Schicken sie jedoch leere Felder ab, erhalten Sie vom System die Nachricht, dass der Login fehlgeschlagen ist.
Das Login-System ist dabei sehr simpel gestrickt. Ein HTML-Formular führt im action-Attribut das login script aus (POST). Dieses fragt die Datenbank nach den eingegebenen Werten ab und setzt die zugehörige Session auf true. Danach leitet das Skript auf den internen Bereich weiter.
Nicht das sicherste Konzept, aber ich hatte noch keine Zeit was neues zu bauen.

Zurück zu dem Problem: Es scheint fast so als verschwinden die gesendeten Daten im Äther. Was könnte das Problem sein ? Wie sieht die Lösung aus ?

Gruß
WiZdoom
 
Vermutlich wird die Sitzungs-ID nicht richtig mitgeführt. Wenn dies per Cookie geschieht, ist meistens der Cookie selbst die Ursache, dass dieser nicht akzeptiert wird. Insbesondere der Internet Explorer kann da aufgrund der Interneteinstellungen recht penibel sein. Lies dir mal Internet Explorer 6 Privacy Feature FAQ durch.
 
Der letzte Benutzer hatte den IE7. Explizit Cookies erstelle ich nicht, wenn welche verwendet werden, dann nur die vom Browser selbstgenerierten.
 
Hi,

Explizit Cookies erstelle ich nicht, wenn welche verwendet werden, dann nur die vom Browser selbstgenerierten.

Der Browser "generiert" keine Cookies, durch das Starten einer Session wird in der Regel vom Server ein Cookie mit der Session-ID im Response-Header gesendet. Vielleicht wurde dieses ja vom Client-Browser nicht akzeptiert.
Ich würde aber erstmal bei einem betroffenen Benutzer nachfragen, ob er vielleicht Cookies deaktiviert hat. Berücksichtigst Du diesen Fall in Deinem Loginsystem?

LG
 
Ein Browser generiert nicht einfach so aus Spass irgendwelche Cookies. Cookies kommen vom Server zum Browser und werden dann vom Browser wieder an den Server geschickt.
session_start() sendet, wenn nicht anders eingestellt, automatisch ein Session-Cookie mit der SessionID. Dies laesst sich z.B. sehr schoen verfolgen wenn man mal den Traffic mitschneidet.

Entsprechend ist es hier nicht notwendig explizit ein Cookie zu senden, somit waere es sinnvoll mal zu testen ob sich das Script wie beschrieben verhaelt wenn Du bei Dir Cookies deaktivierst.

Hmm, da war's kuddelchen schneller...
 
Die genannten Sicherheitsfunktionen wurden nur mit dem Internet Explorer 6, deswegen dieser Titel. Sie gelten aber auch für die Nachfolger.
 
Hey Leute.

Danke für den Hinweis mit den deaktivierten Cookies. Sobald Cookies deaktiviert sind, ist der Login bei mir nicht mehr möglich. Kann es noch eine andere "Fehlerquelle" geben ?
Wie kann man sowas umgehen ? Ich habe jetzt erstmal im Loginformular ein * eingefügt, mit dem Hinweis dass Cookies aktiviert sein müssen...
 
du könntest die Konfiguration in der PHP.ini ändern so das die SID über die URL mitgeführt wird

PHP:
		ini_set('session.use_cookies',1);
		ini_set('session.use_trans_sid',1);
		ini_set('session.use_only_cookies',0);
 
Hi,

Kann es noch eine andere "Fehlerquelle" geben ?

vielleicht. Das kannst Du Dir so aber wohl nur selbst beantworten, indem Du Deinen Code nochmal prüfst. Wenn es bei den meisten Benutzern funktioniert, ist es aber wahrscheinlich, dass es daran lag, dass Du die Session-ID bei deaktivierten Cookies nicht überträgst. Stell Deinen Server halt entsprechend ein (s. Napofis), nachlesen kannst Du das im Manual.

LG
 
Tja "Server einstellen" fällt aus wegen Bodennebel. Ich hab kein Zugriff bei dem Hostingprovider auf die PHP.ini.

Danke Leute für die Hinweise!
 
Zurück