Markus Trusk: Sessions immer überprüfen?

Hi,
Ich benutze ein Login, wo Benutzer einloggen können (nachdem sie sich registriert haben) um Daten in eine mySQL Datenbank zu schreiben.
Ich überlege, ob es notwendig ist, das Passwort (das verschlüsselt in der Session gespeichert wird) ständig mitzuschicken, und bei einem Eintrag in die Datenbank ständig zu überprüfen, ob der Benutzer wirklich das Passwort verwendet, das auch in der Benutzerdatenbank bei seinem Namen gepspeichert ist. Dasselbe gilt auch für das löschen von Daten. Benutzer sollen natürlich nur die Daten löschen können, die auch von dem selben Benutzer gespeichert wurden.
Ich überlege die ganze Zeit, ob es nicht einen Weg gibt, wo irgend ein schlauer Fuchs seine eigene Session so manipulieren könnte, dass der Name eines anderen Benutzers in der Session steht und er dann mit diesem Namen einen Eintrag machen könnte, (natürlich nur wenn ich nicht nach dem Passwort überprüfe) aber wie gesagt, ist so etwas möglich, oder muss ich nicht extra vor jedem Eintrag überprüfen, ob das Passwort mit dem Benutzer, der in der Datenbank eingetragen ist, übereinstimmt?
Ich benutze Perl und mySQL.

Markus Trusk.

  1. Hello,

    ordne dem User eine feste ID (md5 oder so).
    Übertrage beim Anmelden den "Session-Cookie" unter trag ihn in der Datenbank ein, nachdem die Rechte geprüft wurden.

    Rechteprüfung, Session-Prüfung und "Lastclick" kann man mit einem einzigen Updatestatement durchführen.

    Die Rechte also imemr aktuell überprüfen, und nicht nur bei der Anmeldung. Damit ist die Rechteverwaltung auch "in Time".

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hi,
      Das mit dem ID vestehe ich nicht so ganz, aber ich glaube so wie ich es mit dem Passwort mache, kommt es auf das Gleiche hinaus.Also ich mache es dann so: Ich sehe in der Datenbank immer bei dem Benutzer nach, ob das gelieferte Pwd und User von der Session mit dem Benutzer und Pwd der Datenbank übereinstimmt.
      Ich habe erst mit DB und Sessions angefangen, also MD5 und das Alles sagt mir leider noch nicht viel.

      Markus Trusk.

      1. Hello,

        um eine relative Sicherheit zu erreichen, benötigt man immer mindestens zwei Schlüssel, die aufeinander abgegelichen werden. Der eine kennzeichnet die Session und der andere den Zugang.

        Man kann ja auch die Session fortbestehen lassen, ohne noch Zugang zu haben.

        Interessant ist, wie man mit mehreren Sessions verschiedener User desselben Clients oder mit mehreren Sessions desselben Users auf verschiedenen Clients umgehen will.

        Da wird einem dann ganz klar: Die Sessionnummer kennzeichnet den Client, hat aber überhaupt nichts mit dem User zu tun. Der User müsste also für jede Session, die er eröffnet, einen anderen User-Key erhalten.

        Ich denke, unter Windows geht das dann sowieso nicht, da es ja nur ein Single-User-System ist :-(

        Oder?

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen