3 Stimmen

Ist es eine gute Praxis, die Postanschrift eines Kunden in einem Cookie zu speichern?

Ich erstelle eine E-Commerce-Seite, die eine Gast-Kasse Ansatz (keine Kundenkonten) verwendet. Ein Teil des Checkout-Prozesses wird eine Kunden-E-Mail-Adresse, Telefonnummer, Rechnungsadresse und Lieferadresse zu erhalten. Ich versuche, die Verwendung einer Sitzungsvariable für diese zu vermeiden.

Ich verstehe, dass Cookies keine sensiblen Informationen speichern sollten, und ich verstehe, warum. Aber gilt es als gute oder schlechte Praxis, die Rechnungs- und Lieferadresse eines Kunden in einem Cookie zu speichern?

Ich verwende PHP, falls das hilft.

4voto

Kris van der Mast Punkte 16133

Es besteht keine Notwendigkeit, diese Informationen in einem Cookie oder einer Sitzung zu speichern. Speichern Sie sie einfach in der Datenbank, wenn Sie sie behalten wollen, und bewahren Sie den Schlüssel in Sitzung/verstecktem Feld/Querystring auf (was wahrscheinlich nicht das Beste ist, da dies direkt in der Adressleiste sichtbar ist).

Cookies werden bei jeder Anfrage hin- und hergeschickt, also machen Sie entweder nicht zu viel Gebrauch von ihnen und speichern Sie auch nicht zu viele Informationen in ihnen. Vor allem, wenn sie sensible Daten enthalten, die abgefangen werden können.

Update nach dem ersten Kommentar: Wenn Sie die Daten nicht in der Datenbank behalten wollen, müssen Sie einen Auslöser oder einen Prozessablauf haben, der danach abläuft. In ASP.NET wird dies bei der Speicherung des Sitzungsstatus in SQL Server durch einen SQL-Agent-Job erledigt, der jede Minute läuft und verlassene Sitzungen entfernt. Sie haben nicht angegeben, welche Datenbank-Engine Sie verwenden, aber es gibt sicher etwas Ähnliches. Wenn nicht, können Sie einen Taskplaner oder Cron-Job verwenden, um in regelmäßigen Abständen eine Seite aufzurufen, die einen Aufräumcode ausführt.

1voto

Esailija Punkte 134081

Es gibt keinen Grund, das Cookie nicht zu verschlüsseln. Man könnte sogar die Session von php ganz abschaffen und alles in einem verschlüsselten Cookie speichern. Auf diese Weise sind die Sitzungsvariablen nicht von einer bestimmten Servermaschine abhängig. Der einzige Nachteil, den ich sehe, ist das 4KB-Limit.

0voto

Shomz Punkte 36900

Wenn Sie es nur verwenden, um es von einer Seite zur anderen weiterzugeben, verwenden Sie Sitzungen (oder sogar versteckte Formular-Eingabefelder), kein Grund, Cookies zu verwenden. Und wenn Sie sie für wiederkehrende Benutzer verwenden - warum speichern Sie nicht einfach alle Benutzerdaten in der Datenbank?

0voto

In PHP werden die Sitzungsdaten genau in Cookies gespeichert (mit einer gewissen Verschlüsselung), warum sollten Sie sie also nicht verwenden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X