Loginsystem mit $_Cookie und §_Session ? So richtig und sicher ?

Radioaktivman

Grünschnabel
Hallo ich bereite mich gerade auf ein kleines Community-Projekt vor und habe da ein paar generelle Fragen zum Thema Loginsystem, ich habe die Such-Funktion benutzt aber keine befriedigende Anwort gefunden.

Also in die Community soll man sich einlogen können und auf Wunsch werden die Werte dann in einem Cookie gespeichert.

Ich habe mir gedacht , dass ich ID und Passwort in Cookies speichere. Wobei ich das PW ("ist in der DB md5 verschlüsselt gespeichert") mit md3 verschlüssel aber die ID nicht, weil die ID ja in der Datenbank auch nicht mit Md5 verschlüsselt ist.
Ist das verfahren so sicher? Welche oder wie würdet ihr die Daten im Cookie speichern?

Wenn das Cookie schon gesetzt ist wird der User automatisch eingelogt und eine Session-Variabel erstellt, in der die Userdaten stehen, um sie dann für die einzelnen Unter-Seiten schnell verfügbar zumachen.

Achja wie sieht das bei euch mit Mysql-Userrechten aus? Erstellt ihr viele User um jeden Usertyp mit genau den Rechten auszustatten die er braucht , oder seit ihr da "großzügiger" und gibt im mehr Rechte als er eigentlich brauch, wäre dies unsicherer(an die db userdaten kommt er der normale user ja eh nicht ran oder sehe ich das falsch?).

danke für eure hilfe
 
Hi,
Wieso speicherst du nicht einfach die Session ID in einem Cookie?
Das waere die sicherste Methode, da dort nur Daten gespeichert werden,die keine direkten Informationen preisgeben.
Allerdings solltest du etwas zum verifizieren der Session ID einbauen, wenn du es 100 % haben willst.
Desweiteren solltest du die Session-Liftetime hochschrauben,siehe Dokumentation. was aber auich wieder ein Sicherheitsloch mit sich bringt..

Obwohl ich nicht weiss, ob das nicht etwas falsch angesetzt ist.
Cookies sind zumindest fuer dich nicht die Sicherheitsluecke,wer einmal an die Cookies rangekommen ist, koenntesicher auch deine Verifizierungs-Methoden der Session aushebeln.
Btw:
Du kannst doch garnicht den md5 Hash zurueckumwandeln.
Wie verifizierst du dann die User?
Direkt mit diesem Hash?
Dann verstehe ich allerdings nicht den Sinn dahinter..


Wenn du diesen Komfort bieten willst, ist es sicher ,irgendwo unsicher doch das geht nunmal einher mit dem Austausch und Speichern von Daten.

Wegen den Mysql Usern:
Ich statte die Benutzer natuerlich nur mit den noetigen Rechten aus.
Allerdings sollte man dort auch wieder an die Effizienz denken ,wenn du fuer jeden Lese/Schreib Zugriff den User wechselt, ist glaube ich diese Unsicherheit in Kauf zu nehmen.
 
Zuletzt bearbeitet:
Danke für deine umfangreiche Antwort.

Das PW ist als md5 in der Datenbank abgelegt und wird auch so verglichen. (Ich will ja nicht die PWs der User wissen *G).
Habe gerade auch gemerkt, dass es dann egal ist ob ich es verschlüssel oder nicht in das Cookie lege.

Deine Session-Methode, würde die bei vielen Usern nicht den Server stark belasten, wenn er z.b die Sessions von 10000 über ein 1 Jahr speichern soll Oder liege ich da komplett falsch?

Achja , welches templatesystem benutzt ihr
Ich habe mich ganz gut mit yapter (http://www.yapter.com) angefreundet, da es recht simpel gehalten ist.
 
Zuletzt bearbeitet:
Zurück