WinFuture-Forum.de: Sessions Vs. Cookies - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Sessions Vs. Cookies


#1 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 30. September 2008 - 15:15

Hallo zusammen,
Habe eine kleine Frage.
Ich bin gerade dabei ein kleines Loginsystem zu schreiben. Die benutzer und die Passwörter stehen in einer datenbank.
nun wird überprügt beim login ob der benutzer in der datenbank ist wenn ja wird das eingegebene passwort mit dem aus der tabellenzelle die in der zeile des namens steht überprüft. wenn sie übereinstimmen soll man eingeloggt sein. d.h. es muss ein cookie gespeichert werden oder eine session.
Nun sollte in der session/ cookie ein bestimmter code stehen, der jedes mal neu generiert wird. dieser code sollte auch in die datenbank zu dem jeweiligen nutzer geschreiben werden. so kann ich auf jeder seite überprüfen ob der session/cookie name in der datenbank vorhanden ist. eventuell noch ein vergleich mit dem namen aus der db?
beim ausloggen soll dann der code aus der datenbank wieder genutzt werden.
Beim nächsten login soll ein neuer code gemacht werden usw.

Nun ist meine Frage ist dies halbwegs sicher und soll ich cookies oder sessions benutzen?
und wie mache ich das mit dem code der in die Datenbank geschrieben wird und dann wieder gelöscht?

MFG
0

Anzeige



#2 Mitglied ist offline   L4r2 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 21. November 05
  • Reputation: 0

geschrieben 30. September 2008 - 16:21

Hallo Dyon,

soll der Nutzer denn die Möglichkeit haben angemeldet zu bleiben? Wenn ja, kommst du wohl nicht an Cookies herum. In dem Cookie würde ich nur die SessionID speichern, die du dann mit der gespeicherten Session vergleichst.

Ansonsten würde ich Logins mit den Session-Cookies gestalten.

Um dein Login sicherer zu gestalten, empfiehlt es sich u.a.

->ggf. die SessionID in der Datenbank ablegen lassen, fallst du bei einem Hoster bist, der die Sessions gemeinsam in einem Verzeichnis ablegt (Artikel in der php.net Doku)
-> keine persönlichen Daten in der Session speichern,
-> Die IP in der Session als Hash speichern lassen und auf Veränderungen überprüfen.
-> Neue Session nach jedem Login mittels session_regenerate_id(); geben lassen.


Wie groß ist denn deine Nutzeranzahl, die auf das Login Zugriff haben oder ist das ein allgemeines Login System?

Und was für`n "Code" möchtest du denn genau in der Datenbank speichern?

Gruß
Lars

Dieser Beitrag wurde von L4r2 bearbeitet: 30. September 2008 - 16:23

0

#3 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 30. September 2008 - 17:52

Mit Sessions bräuchtest du nicht ein Mal diesen Code, den du generieren willst, da die SessionID selber ja "so eine Art Code" ist. Und die SessionID kann man ja auch neu generieren lassen.
Also wenn man eingeloggt bleiben soll, führt auch meiner Meinung nach kein Weg an Cookies vorbei. Denn wie L4r2 schon gesagt hat, wird dann ja auch die SessionID in einem Cookie gespeichert.
0

#4 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 02. Oktober 2008 - 18:27

es handelt sich um ca. 20 user, die in einer datenbank gespeichert sind.
Sie sollten solange angemeldet bleiben, bis sie den browser schließen, oder auf ausloggen klicken.
Mit dem Code meinte ich eig sowas wie die sessionID.
Kann mir jemand vllt. ein kleines Codebeispiel geben/schreiben, wie ich das am besten mache?
0

#5 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 03. Oktober 2008 - 12:13

Beitrag anzeigenZitat (Dyon: 02.10.2008, 19:27)

Kann mir jemand vllt. ein kleines Codebeispiel geben/schreiben, wie ich das am besten mache?


Schau dir mal dieses Tutorial an, vielleicht hilft es ja die Thematik etwas besser zu verstehen.
0

#6 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 04. Oktober 2008 - 13:31

Vielen Dank für den Link.
Sowas wie setcookie kann man ja nur ganz am anfang machen, bevor der header gesendet wurde?
Weil ich hab ein kleines Problem, ich include nämlich bei mir alle unterseiten in die index.php und wenn ich jetzt in der includeten login.php ein setcookie oder so machen möchte ist ja der header schon gesendet.
Wie könnte ich das umgehen oder so?

MFG
0

#7 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 04. Oktober 2008 - 21:13

Beitrag anzeigenZitat (Dyon: 04.10.2008, 14:31)

Wie könnte ich das umgehen oder so?

ob_start
0

#8 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 04. Oktober 2008 - 21:57

Das kann man auch umgehen, indem man das Dokument mit dem Loginscript einfach nicht includiert. Man sendet das Loginformular beispielsweise an das Script login.php und das enthält eine Weiterleitung zur index.php. Also das eigentliche Loginscript mit der Sessionbastelei mus ja nicht includiert werden. Wozu auch?

Muß dann nur ein extra "session_start();" rein. Das vergess ich manchmal und wundere mich dann warum es nicht geht.

Dieser Beitrag wurde von Gitarremann bearbeitet: 04. Oktober 2008 - 22:01

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#9 Mitglied ist offline   whitenexx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 142
  • Beigetreten: 03. September 05
  • Reputation: 0

geschrieben 04. Oktober 2008 - 22:39

Ein Tip: Schreib dir ein eigenes Session-System. Dauert keine halbe Stunde und es funktioniert. Hab ich genauso gemacht und ist um einiges besser als das von PHP.
Session-IDs kannst du ja mit diversen Funktionen generieren, sodass es im prinzip unmöglich ist, dass eine ID doppelt vorkommt.

MfG
Eingefügtes Bild
Eingefügtes Bild
0

#10 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 07. Oktober 2008 - 20:40

Danke für die ganzen Antworten
das mit der eigenen Datei und dann gleich weiterleiten ist wirklich eine sehr gute Idee gewesen, klappt hervorragend. Danke

MFG
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0