Ich möchte, dass meine Website über ein Kontrollkästchen verfügt, auf das Benutzer klicken können, damit sie sich nicht bei jedem Besuch meiner Website anmelden müssen. Ich weiß, dass ich ein Cookie auf ihrem Computer speichern muss, um dies zu implementieren, aber was sollte in diesem Cookie enthalten sein?
Gibt es auch häufige Fehler, auf die Sie achten müssen, um zu verhindern, dass dieses Cookie eine Sicherheitslücke darstellt, die vermieden werden kann, während die Funktion "An mich erinnern" beibehalten wird?
security
cookies
remember-me
Vort3x
quelle
quelle
Antworten:
Verbesserte Best Practice für dauerhafte Anmelde-Cookies
Sie können diese hier beschriebene Strategie als Best Practice (2006) oder eine hier beschriebene aktualisierte Strategie (2015) verwenden:
Dieser Ansatz bietet eine gründliche Verteidigung. Wenn es jemandem gelingt, die Datenbanktabelle zu verlieren, gibt dies einem Angreifer keine offene Tür, um sich als Benutzer auszugeben.
quelle
Ich würde eine Benutzer-ID und ein Token speichern. Wenn der Benutzer zur Site zurückkehrt, vergleichen Sie diese beiden Informationen mit etwas Beständigem wie einem Datenbankeintrag.
Geben Sie aus Sicherheitsgründen nichts ein, das es jemandem ermöglicht, das Cookie zu ändern, um zusätzliche Vorteile zu erzielen. Speichern Sie beispielsweise nicht ihre Benutzergruppen oder ihr Kennwort. Alles, was geändert werden kann, um Ihre Sicherheit zu umgehen, sollte nicht im Cookie gespeichert werden.
quelle
Speichern Sie ihre UserId und ein RememberMeToken. Wenn sie sich mit der Option "Angemeldet bleiben" anmelden, wird ein neues RememberMeToken generiert (das alle anderen markierten Computer ungültig macht, die an mich erinnern).
Wenn sie zurückkehren, suchen Sie sie nach dem Remember Me-Token und stellen Sie sicher, dass die UserId übereinstimmt.
quelle
Ich habe festgestellt, dass es das Sicherheitsrisiko einfach nicht wert ist. Verwenden Sie es, wenn Sie es unbedingt müssen, aber Sie sollten eine solche Sitzung nur als schwach authentifiziert betrachten und eine neue Anmeldung für alles erzwingen, was für einen Angreifer von Wert sein könnte.
Der Grund dafür ist natürlich, dass Ihre Cookies, die Ihre dauerhafte Sitzung enthalten, so leicht gestohlen werden können.
4 Möglichkeiten, Ihre Cookies zu stehlen (aus einem Kommentar von Jens Roland auf der Seite,
@splattne
auf der seine Antwort basiert):quelle