Ankündigung

Einklappen
Keine Ankündigung bisher.

User wiedererkennen

Einklappen

Neue Werbung 2019

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

  • Condor93
    antwortet
    Hab nochmal ne Frage. Wenn der User den Browser schließt, bekommt er ja eine neue SessionID, wenn er diese wieder öffnet.
    Wie kann ich die alte SessionID in der DB löschen?

    Einen Kommentar schreiben:


  • Condor93
    antwortet
    Stimmt, verwechselt mit Cookie
    Naja danke für die Hilfe, Thema wäre hiermit nun erledigt

    Einen Kommentar schreiben:


  • hausl
    antwortet
    wird die Lebensdauer der Session auf maximal 1 Woche gesetzt
    Warum die Session 1 Woche. Du meinst das Cookie (Auto-Login) soll eine Woche lang aufrecht beliben? Nicht die PHP-Sesision mit dem Cookie verwechseln.

    Die PHP-Session brauchst du so und so, dadurch bist du ja eingeloggt.
    Und entweder an Hand eines "normalen" Login oder an Hand eines vorhandenen gültigen Cookies (das wiederrum durch ein erfolgreichces Login mit "Remember-Me-Haken" erstellt wird) wirst du verifiziert und dadurch eben die PHP-Session erstellt.

    Schau mal im Web dazu gibts haufenweise Lesestoff, twl. sogar mit fertigen Beispielen, gibts auch fertiges Zeugs dazu.

    Einen Kommentar schreiben:


  • Condor93
    antwortet
    Sprich:

    Datenbanktabelle mit den Spalten (Login)
    User_hash | Login_hash

    Dann müsste ich bei jeder Seite prüfen, ob die Werte übereinstimmen, richtig?


    Dann würde ich das jetzt so machen:
    User Loggt sich ein, (ohne Häckchen bei Eingeloggt bleiben), Daten werden mit DB geprüft und ein Datensatz wird in der Tabelle (Login) erstellt. Login Werte werden dann in der Session gespeichert. Solange die Session die Zeitspanne nicht überschreitet bleibt alles so, wenn nicht wird Session gelöscht, der Datensatz (Login) wird auch gelöscht und es geht per header wieder an die Startseite.

    User Loggt sich ein (mit Eingeloggt bleiben), Daten werden mit DB geprüft und ein Datensatz wird in die Tabelle (login) erstellt. Dazu werden die Werte vom Datensatz auch in einen Cookie gespeichert. Daten werden zudem in die Session gespeichert, dabei wird die Lebensdauer der Session auf maximal 1 Woche gesetzt. Und dann das prozedere wie oben.
    Beim schließen des Browsers und wieder aufmachen, wird geguckt ob Cookie gesetzt ist. Wenn ja soll er diese Werte mit der DB-Login, wenn korrekt, holt er Daten von User und so weiter...

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Wie umgehe ich dieses Problem?
    User-ID und individuellen Hash je User in der DB speichern und die Kombination muss auch im Cookie passen. Bei jedem explizitem Login (also keinem Auto-Login) einen neuen Hash für diesen User erstellen (der dann ins Cookie kommt). Und bei einem Logout ("klick") Cookie und Hash löschen.

    Hat auch den Vorteil wenn du den Hash eines Users in der DB löscht, ist der user überall abgemeldet, ich denke mal Facebook wird es mit der Option "Mich auf allen Geräten abmelden" auch irgendwie im Grunde so machen, auch wenn das jetzt einfach mal eine Mutmaßung ist

    Einen Kommentar schreiben:


  • Condor93
    antwortet
    Ich würde das so machen:

    Prüfe ob Cookie existiert. Wenn ja, prüfe den User Hash-ID mit der Datenbank. Wenn das wiederum existiert, sollen Werte von der DB per Session weiter gegeben werden.

    Meine Sorge ist nur, das jeder die Cookies ändern kann. Ein User kann die Datei ändern und ist dann wahrscheinlich mit einen ganz anderen Account drin. Wie umgehe ich dieses Problem?

    Einen Kommentar schreiben:


  • hausl
    antwortet
    user_id und einen hash
    Dazu das am ehesten, gibt mehr Varianten. Aber bitte nicht die Zugangsdaten, auch nicht gehasht.

    Session Cookie käme auch in Frage.
    Du meinst das PHP autom. für die Session erstellt? Nein, wenn du den Browser zumachst ist das weg.

    Einen Kommentar schreiben:


  • lottikarotti
    antwortet
    Zitat von smilla Beitrag anzeigen
    Theoretisch egal was im Cookie steht. Wenn das Cookie existiert, ist man eingeloggt.
    Ob man "eingeloggt" ist oder nicht legt in erster Linie die Anwendung fest. Das hat auch nichts mit dem Cookie zu tun. Das Cookie übermittelt nur die notwendigen Informationen um dies festzustellen.

    Einen Kommentar schreiben:


  • smilla
    antwortet
    Theoretisch egal was im Cookie steht. Wenn das Cookie existiert, ist man eingeloggt.

    Ich würde dort jedoch mindestens die user_id und einen hash integrieren. Ggf. noch weitere Information.

    Session Cookie käme auch in Frage.

    Einen Kommentar schreiben:


  • lottikarotti
    antwortet
    Um den Nutzer eindeutig zu identifizieren, wäre doch die User-ID oder der Username ganz praktisch?

    Einen Kommentar schreiben:

Lädt...
X