Hi,
ich frage mich, warum Andreas nicht gleich geantwortet hat. Könnt Ihr mir das sagen? In so ein paar Zeilen kann man auch nicht auf alle seine Einwände eingehen. Dafür braucht es eine Doku von ca. 150 Seiten. Die ist ja hoffentlich bald fertig.
oder steht $_SESSION erst nach session_start() zur Verfügung? Aber die Prüfung bringt IMHO eh nicht viel, da man so sehr leicht an eine Session kommt.
@ Andreas: Nun bring die Leute hier nicht durcheinander!
PS: wenn Du den Namen brauchst nimm doch einfach session_name(), das gibt den aktuellen Namen zurück, also normalerweise PHPSESSID.
Liebe Grüße aus http://www.braunschweig.de
@ Andreas: Auch der letzte Satz sollte besser gelöscht werden.
Nochmal für Julian:
Das Array mit den Sessionvariablen, dass entweder $HTTP_SESSION_VARS oder in der neuesten PHP-Version (die dazwischen liefen nicht sauber) heißt, steht selbstverständlich erst nach dem Einschalten des Session-Mechainsmus zur Verfügung. Wenn man den nun mit session_start() startet, und nicht automatisch durch Änderung der Voreinstellung in der php.ini, dann werden die gespeicherten Variablen aus der Session-Datei im tmp-Verzeichnis eben genau in diesem Moment zurückgeholt. Vorher sind sie nicht zur Verfügung.
Um nun zu wissen, ob eine Atuhentifizierung des Clients via Session vorliegt, muss man erst nach dem Vorhandensein der Sessionnummer fragen. Dafür wird der Sessionname benötigt. Der Standardname PHPSESSID ist ebenfalls in der php.ini eingestellt, kann aber durch session_name(ANDERER_NAME) überschrieben werden. ANDERER_NAME sollte man sich als Konstante deklarieren. Alternativ kann man auch in der php.ini oder in den Virtual Hosts oder in einer .htaccess den Namen ändern. Unter diesem Namen sucht PHP dann die Variable mit der Länge von 32Byte (md5-codiert) in den Session-Cookies, den Get-Variablen und den Post-Variablen.
Da Blättern mit dem Vor- und Zurückbutton beim Client häufiger vorkommt, und dabei auch die VOR der Authentifizierung übertragenen Seiten angewählt werden könnten, sollte man auf die Authentifizierung über GET und POST verzichten und dann lieber auf Cookies setzen.
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.