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?
Ankündigung
Einklappen
Keine Ankündigung bisher.
User wiedererkennen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Stimmt, verwechselt mit Cookie
Naja danke für die Hilfe, Thema wäre hiermit nun erledigt
Einen Kommentar schreiben:
-
wird die Lebensdauer der Session auf maximal 1 Woche gesetzt
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:
-
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:
-
Wie umgehe ich dieses Problem?
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:
-
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:
-
user_id und einen hash
Session Cookie käme auch in Frage.
Einen Kommentar schreiben:
-
Zitat von smilla Beitrag anzeigenTheoretisch egal was im Cookie steht. Wenn das Cookie existiert, ist man eingeloggt.
Einen Kommentar schreiben:
-
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:
-
Um den Nutzer eindeutig zu identifizieren, wäre doch die User-ID oder der Username ganz praktisch?
Einen Kommentar schreiben:
Einen Kommentar schreiben: