Hallo,
VIELEN DANK!!!!!!!
Gerngeschehen.
Ich habe dieses "Durchschleusen" als Prinzip schon ein paarmal
empfohlen, aber um ehrlich zu sein, habe ich es heute zum ersten
Mal selbst ganz konkret ausprobiert...
War erfreut, zu sehen, dass es funktioniert. ;-)
Ich arbeite bereits mit session, da ich ne Benutzerabfrage drin habe, dann in einer globalen Variable $globale_variable den Nutzer usw. abspeicher und den dann (ohne Cookie) via URL von Seite zu Seite weiterreiche.
Dann hast Du dass Prinzip der Sessions noch nicht restlos begriffen.
Der Witz an den Sessions ist gerade, dass Du _nur_ die Session-ID
von Seite zu Seite weitergibst (mit Cookies ist nichtmal das notwendig).
Alle anderen Variablen (Benutzername, Passwort, weitere persoenliche
Daten, Voreinstellungen, was auch immer) bleiben auf der "sicheren Seite",
naemlich auf dem Server, gespeichert, wo nur _Du_ (d.h. Dein Skript)
darauf Schreib- und Lesezugriff haben.
Lies mal:
http://www.dclp-faq.de/q/q-sicherheit-parameter.html
Also ist die session-Geschichte als Sicherheitslücke OK, aber ne Verfallszeit wäre ganz gut.
So, wie Du es machst, ist es eine Sicherheitsluecke.
Das "Restrisiko" besteht in der Uebernahme einer Session
durch eine unberechtigte Drittperson.
Bei Cookies ist das _relativ_ unwahrscheinlich
(d.h. jemand muesste den Datenverkehr abhoeren),
bei GET (Anhaengen an die URL) schon wahrscheinlicher
(beides kann zum Problem werden bei Computern in Web-Cafes,
Universitaeten und anderen gemeinsam genutzten Computern).
Wenn die Benutzer sich diszipliniert ausloggen, und man
anschliessend die Session loescht, vermindert das
dieses Risiko.
Die Verfallszeit ist in der PHP-Konfiguration geregelt:
http://www.php.net/manual/en/ref.session.php
und zwar mit den Einstellungen session.gc_maxlifetime
und session.cookie_lifetime.
Diese sind in der php.ini vordefiniert, aber Du kannst
sie auch zur Laufzeit aendern mit ini_set():
http://www.php.net/manual/en/function.ini-set.php
Gruesse,
Thomas
P.S. habe nun mal endlich das Subject etwas angepasst...