Ich bin mit einem Login-System für mein Projekt beschäftigt.
Nur für einen zusätzlichen Schritt zur Sicherheit. Wie kann ich prüfen / feststellen, ob ein Benutzer einen Cookie-Wert manuell geändert hat?
Gibt es einen einfachen Weg, dies zu tun? Oder muss ich eine zusätzliche Sitzungsvariable setzen und sie damit abgleichen? Ist eine normale ASP.Net Session vom Browser nachvollziehbar? Und für den Benutzer sichtbar?
Danke.
Sie könnten eine digitale Signatur an den Cookie-Wert anhängen und die Signatur überprüfen, wenn Sie sie zurücklesen. Auf diese Weise, wenn der Cookie-Wert manipuliert wird, wird es sehr offensichtlich sein.
%Vor%Bearbeiten: Der Encoder wurde so korrigiert, dass er explizit UTF-8 ist.
Wie immer sollten Sie auch sicherstellen, dass Sie vor dem Aufruf des Strings etwas Salz zu Ihrem String hinzufügen, siehe: Secure Hash und Salz für PHP-Passwörter
Wenn Sie mit so sensiblen Informationen umgehen müssen, würde ich vorschlagen, sie nicht in Benutzercookies zu speichern. Verwenden Sie stattdessen sessions
, um solche Werte zu speichern, da der Benutzer diese Werte nicht manipulieren kann.
Warum verschlüsseln Sie den Cookie-Wert nicht? Auf diese Weise ist es schwierig für den Benutzer, es tatsächlich zu ändern. Wie die vorherige Antwort erwähnt, ist Cookie, wenn es wirklich sensibel ist, nicht der Ort, um es zu speichern, aber die Verschlüsselung gibt Ihnen ein wenig mehr Schutz.
Tags und Links c# asp.net session-cookies cookies