welche logindaten in cookie?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • welche logindaten in cookie?

    sers,

    hab da ma ne frage. also...

    angeommen ich hätte eine klasse zur benutzerverwaltung (sessions)
    weiterhin angenommen, ich wollte da (wahlweise) cookies anlegen, die die session überleben um ein erneutes einloggen überflüssig zu machen
    noch weiter angenommen, ich würde in meiner usertabelle bei eingeloggten usern in der spalte USerSession die session-id speichern und bei ausgeloggten usern steht NULL drin

    was schreib ich in den cookie rein?

    username/id und md5-verschlüsseltes passwort
    einloggen: update usertabelle set usersession=session_id(), userlogin=now, userlogout=null where username=$_COOKIE['username'] and userpasswd=$_COOKIE['pass']
    oder
    session-id
    einloggen: [i]update usertabelle set usersession=session_id(), userlogin=now, userlogout=null where usersession=$_COOKIE['sid']

    letzteres hätte den vorteil, dass so unmöglich ein user gleichzeitig an 2 pcs eingeloggt sein kann (neuer pc = neue session = neue session-id = cookie mit alter session-id auf erstem pc fällt auf die nase)
    einsatzgebiet: kennwortgeschützter pc zu dem nur einer zugriff hat und sensible daten

    ersteres hätte den vorteil dass man auch per VPN von zu hause arbeiten könnte und sich im büro und dahoam je einmal anmeldet und gut is
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    Also ... ganz ehrlich gesagt mache ich sowas immer so das ich eine Tabelle erstelle:
    Code:
    CREATE TABLE reloginIDS (
    	reloginID varchar(50) NOT NULL default '',
    	userID int(11) NOT NULL default '0',
    	reloginCREATED datetime NOT NULL default '0000-00-00 00:00:00',
    	PRIMARY KEY  (reloginID)
    ) TYPE=MyISAM;
    In dieser Tabelle erstelle ich eine Verknüpfung zwischen einer Zufallszahl (reloginID) und der userID des angemeldeten Benutzers.

    Die reloginID wird im Cookie gespeichert ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Also ... ganz ehrlich gesagt:

      und wenn der user dann den browser neu öffnet, wird die userid anhand der reloginid gesucht und *zauberei* er is eingeloggt?
      und dann?
      löscht du den datensatz aus den relogin tabelle?
      dann wär's ja vom prinzip her wie mein zweiter gedanke mit session-id

      oder bleibt das ding drin stehen bis in alle ewigkeit/expliziter logout per link?
      dann wär's ja ähnlich dem dspeichern von userid und md5-passwort nur noch etwas mehr verschleiert
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        ich würde eine neue md5-kette nehmen und diese in ein neues feld in der tabelle ablegen.

        diesen md5-wert würde ich in das cookie schreiben.

        UPDATE usertabelle SET usersession=session_id(), userlogin=NOW(), userlogout=NULL WHERE userrelogin=$_COOKIE["relogin"]

        der vorteil hierbei ist, dass man von der session id unabhängig wäre.

        userrelogin ist das neue feld. varchar(32) und natürlich unique.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X