Login OHNE Cookies oder Sessions

MrSandman666

Grünschnabel
Hallo zusammen!

Ich arbeite gerade an einem feschen Login Script und ich will für meine paranoiden User den gebrauch von Cookies nicht erzwingen. Ich würde mir auch gerne Sessions sparen, da ich nicht weiss, ob mein zukünftiges Hosting System überhaupt Sessions unterstützt. Ausserdem kenne ich mich mit Sessions nicht sonderlich aus.
Wenn ich es richtig verstanden habe, laufen Sessions in etwa auf das hinaus, was ich gerade mache.
Ich habe eine Datenbank, welche alle LogIns festhällt. Wenn sich eni user einloggt, kriegt er eine zufällige ID zugewiesen. Ausserdem wird immer die Zeit des letzten Zugriffs festgehalten, so dass nach einer gewissen Zeit von Inaktivität automatisch ausgelogt werden kann.
Wenn die Seite jetzt so eine ID übergeben kriegt, kann sie über die in der Login Tabelle Rückschlüsse auf den User ziehen, wie zum Beispiel Zugangsberechtigungen, Namen, Kontaktinformationen, etc.

Das ist auch alles schön und gut so, funktioniert auch, nur muss ja immer irgendwie diese Login ID an die Seite übergeben werden. Das könnte man natürlich per Cookie machen, aber das würde ich ganz gerne vermeiden, wie ich schon sagte. Eine andere Möglichkeit wäre, bei jedem Link ein kleines Schnipselchen Code einzubauen, welches prüft, ob eine ID vorhanden ist, und wenn das so ist, diese an die URL anhängt. Das würde zwar das Problem mit den Cookies lösen, den Code aber unglaublich unübersichtlich machen und die Seite unnötig aufblähen.

Hat hier irgendjemand sonst noch Ideen wie ich das ID Problem lösen könnte?

Vielen Dank schon mal...
 

Christian Fein

Erfahrenes Mitglied
Nun du hast recht die 2. moeglichkeit die du gesagt hast blaeht den code auf.
So wird auch jede andere moeglichkeit ohne cookies / session den code aufblaehen z.b. hidden form fields

Also du musst dich schon entscheiden zwischen aufgeblaehten code oder der nutzung von sessions!
Falls dein naechster provider keine sessions zulaesst such dir nen anderen den dann taugt der nix
 

MrSandman666

Grünschnabel
Ich hab mir grade mal ein Sessions Tutorial angeguckt und etwas herausgefunden: auch Sessions benutzen Cookies. Einen, zumindest. Damit stehe ich wieder vor dem gleichen Problem. Sobald der User Cookies ausschaltet, kann er sich nicht mehr an meiner Seite anmelden. Da kann ich genauso gut auch mein bisheriges System weiter verwenden.

Hat sonst jemand noch ne Idee?
 

Maximka

Erfahrenes Mitglied
sessions benutzen zwar cookies, aber wenn der User diese nicht unterstuetzt, stellt PHP die Session-Verwaltung auf ID-Weitergabe ueber Parameter.
z.B.:
seite.php?PHP_SESS=asdfkjhdasjkfhasdfsdjkfnasdfasdl
das automatische Anhaengen von Session-ID erfolgt nur wenn PHP mit --enable-trans-sid kompiliert wurde, sonst kann man <?=SID?> benutzen.

Diese ID wird dann zu identifizierung von der Session verwendet.

Du kannst die Verwendung von Cookies von vorne rein ausschliessen, indem du in der php.ini session.use_cookies auf 0 setzt.

Zur Laufzeit koennte man es vielleicht auch aendern,
mit Funktion string ini_set(string varname, string newvalue).
Bei der varname dann session.use_cookies sein muesste.

Habe jetzt leider keine PHP-Umgebung um die Laufzeitaenderung des Wertes ausprobieren zu koennen.