Login-System ohne Cookies & Sessions

daddz

Mitglied
Hi,
ich frag mich ob es auch möglich ist ein Login-System zu machen, das ohne Cookies und Sessions auskommt!?
Ich hatte da auch schon eine Idee...undzwar wird in der Datenbank bei jedem User einfach ein Feld "Logged-In" und "IP" angelegt. In dem "Logged-In" Feld speichere ich dann einfach
  • 0 // ausgelogged
  • 1 + timestamp //eingelogged
und bei "IP" logischerweise die IP-Adresse. :rolleyes:
Nachdem der User sich dann eingelogged hat wird im "Logged-In"-Feld der Wert "1" und der aktuelle timestamp reingeschrieben. In IP kommt die aktuelle IP-Adresse rein.
Die Überprüfung läuft dann so ab, das die IP des aktuellen Surfers mit den IPs in der DB verglichen wird. Falls die IP gefunden wurde und dort "Logged-In" auf "1" ist wird noch der timestamp überprüft, ob er nicht älter als was weiß ich wieviele Stunden/Tage (was auch immer) ist. Falls alles ok is wird gleich angezeigt, das der User eingelogged ist...und wenn nicht dann muss er sich neu einloggen.
Beim ausloggen wird "Logged-In" dann einfach auf "0" gestellt.
So...das wars...nun wollte ich mal wissen ob das eigentlich sinnvoll oder totaler Mist ist! :confused:
[PS]...htaccess möchte ich auch nicht nutzen...[/PS]

greetz
daddz
 
Hoia...

ich halte es für wenig bis gar nicht sinnvoll... Willst Du jedesmal wenn Du den LogIn Status überprüfst nen DB Connect machen?

Also quasi bei jedem Reload der Seite?

LG [BD]
 
Theoretisch möglich.

Der Nachteil liegt aber auf der Hand: Was, wenn sich die IP-Adresse ändert? Da die meisten Surfer eine dynamische IP besitzen, welche sich in bestimmten Zeitintervallen ändert (welches je nach Provider unterschiedlich ist), kann es passieren, dass der User vor Ablauf des von dir gesetzen Intervalls ausgeloggt wird. Im ungünstigsten Fall kommt dann auch noch ein Surfer auf deine Seite, der die letzte IP eines eingeloggten Users erhalten hat (auch wenn das, abhängig von deinem gesetzen Zeitintervall, relativ unwarscheinlich ist).
Wenn dir Sessions/Cookies zu unsicher sind, kannst du ja auch Sessions mit IP-Lock benutzen. Du hast zwar immer noch den Nachteil, dass der User aus Versehen ausgeloggt werden kann, allerdings ist das Ganze jetzt sicherer. Du kannst auch mit der Funktion session_regenerate_id() die Session-ID bei jedem Seitenaufruf ändern lassen und damit die Sicherheit erhöhen.
 
Wäre es dann besser, wenn ich den User auswählen lasse ob es zusätzlich noch in einem Cookie gespeichert werden soll? ..denn ich möchte nicht, dass die User gezwungen sind meine Cookies zu akzeptieren!

greetz
daddz
 
Klar, mach den Login über Sessions, übergib jedem Link die Session-ID (am besten regenerierst du sie jeden Seitenaufruf, oder zumindest unmittelbar nach dem Login). Dann lässt du dem User noch die Möglichkeit, einen Cookie setzen zu lassen, der einen automatischen Login bewirkt und quasi eine unendliche Lebenszeit haben kann. Bei einem Logout werden die Session und der eventuelle Cookie gelöscht.

So mach ich das zumindest immer ;)
 
Naja...ich habs jetzt mit deiner Methode gemacht...d.h. mit Sessions und wahlweise Cookies. Gibt es nicht irgendeine Möglichkeit, mit der automatisch immer die Session-ID an jeden Link angehängt wird?

greetz
daddz
 
looki looki in dabooki !
in der php.ini gibt es eine funktion unter sessions.
die heißt...

............... session.use_trans_sid

und schau ob du die aktiv hast, wenn nicht, dann must du die aktivieen und keine sessions mehr anhängen !
 
...und wenn du keinen Zugriff auf die php.ini hast:
PHP:
output_add_rewrite_vars(session_name(), session_id());
 
An eine beliebige Stelle, Voraussetzung ist, dass es noch keinen Output gab. Also am besten an den Anfang deiner Datei (aber erst nachdem die Session gestartet wurde).
 
Zurück