PHP Sessions, Cookies usw. -> Login System

Twisterking

Lt. Commander
Registriert
Jan. 2004
Beiträge
1.726
Hi!

Versuche gerade auf ner Page ein vernünftiges Login System hinzubekommen!
Problem is dass ich von Sessions usw. nicht viel Ahnung habe und vorallem offentsichtlich nicht wirklich den Sinn dahinter verstanden habe!

Es geht darum, dass ich das Login System an sich möglich professionell und sicher machen will ... und vorallem sich der User NICHT jedes Mal neu einloggen muss .. --> ich muss auf jeden Fall auch Cookies verwenden (stimmt doch so oder?)!

Frage is nun: Wie verlnüpfe ich diese COokies mit Username + PW (meist als MD5 hash) mit Sessions usw. das alles so funzt wie ich das will?
habe versucht bei jedem Brwoser neustart über ein anderes Cookie das PHPSESSID - Cookie neu zu schreiben um die alte Session fortzusetzen, funzt aber nicht so ganz! :(

Kann mir wer helfen und mal erklären wie das alles funktioniert und wie man das alles richtig verbindet?! :)
Auch ein gutes Tut (-> Link) würde mir schon sehr helfen! :9

Danke im Voraus,

mfg
Twist
 
Zuletzt bearbeitet:
Naja in dem Cookie kannst du die Login-Credentials abspeichern (Benutzername und gehashtes PW) und jede Funktion die einen Login benötigt prüft ob das Cookie existiert und ob Benutzername und Hash mit dem Inhalt in der DB übereinstimmen, wenn ja gibst du den Inhalt der originalseite aus ansonsten machste im header noch eine umleitung zu ner loginseite.
dafür brauchste keine session, wenn du das ganze nur auf eine session begrenzen willst kannste statt $_COOKIE einfach $_SESSION schreiben und schon arbeitest du auf ner session statt auf nem cookie.
 
Der Browser hilft dir, Daten über mehrere Seiten hinweg in einer sogenannten Session zu speichern - ohne etwas angreifen zu müssen, außer diese einmalig zu "erstellen", "befüllen" oder wie man das auch immer nennen mag.

Mit nem Cookie kannst du zb. deine Logindaten speichern und beim nächsten Login prüfen ob dieses Cookie existiert -> wenn ja wird der User über dieses Cookie eingeloggt und die Daten in die Session übernommen. Wenn du jetzt nun Bereiche hast die nur eingeloggte User sehen dürfen prüfst du einfach den Wert in der Session und das wars.
 
noch anzumerken wäre das sessions serverseitig gepseichert werden, cookies nicht. sessions können somit (nach meine wissens stand) nicht oder nur schwer manipuliert werden.
sessions bieten den vorteil der session id, falls ein mitarbeiter der mehr rechte als ein anderer hat, selbigen seinen link zum adminmenue gibt, nix sehen wird.

sry fürs gute deutsch, bin bisschen ...
 
Sessions haben idR eine kürzere Lebenszeit als ein Cookie, und sobald du deine Cookies gelöscht hast ist auch die Session weg wenn du die sessionID nicht mit in der URL übergibst.
 
Sessions gelten solange, bis dein Browserfenster geschlossen wird.
Cookies gelten solange, bis das Ablaufdatum des Cookies (das du selber definieren kannst) vorbei ist.

Noch ein wichtiger Unterschied ist, dass Cookies auf dem Client (also dem PC des Besuchers der Website) gespeichert werden und beliebig manipuliert werden können. Was das ganze Thema Cookies auch sehr heikel macht in der Login-Thematik. Sessions hingegen werden auf dem Server auf der die Website läuft gespeichert und können nicht so einfach manipuliert werden.

Für ein gescheites Login sind nur Kenntnisse über Sessions notwenidig. Cookies werden nur gebraucht wenn du eine Funktion a la "Eingeloggt bleiben" zur Verfügung stellen möchtest.
 
Nicht zu vergessen, dass der Browser dennoch Cookies akzeptieren muss, damit du eine Session über mehrere Seiten behalten kannst, sonst übergibt man die Session ID als URL Parameter um die Sitzung am Leben zu erhalten.
 
Zuletzt bearbeitet:
TiME-SPLiNTER schrieb:
Sessions gelten solange, bis dein Browserfenster geschlossen wird.
Falsch, (PHP)Sessions bleiben so lange am leben bis der session_cache abgelaufen ist, oder du die session händisch zerstört hast, oder du das Cookie mit der SessionID gelöscht hast. Wenn die SessionID per URL übergeben wird kannst du natürlich Glück haben und die Session ist weg wenn du den Browser schließt. Wenn du die id aber weißt kannst du imho diese auch wieder nutzen.
[/QUOTE]
 
Zurück
Oben