Reicht es aus, eine Bestellstatusseite nur durch eine zufällige URL zu sichern?

11

Nachdem ein (Firmen-) Kunde einige Artikel in unserem Online-Shop gekauft hat, senden wir ihm eine E-Mail mit einer Übersicht darüber, was er gekauft hat.

Wir möchten unseren Kunden über erhaltene Zahlungen, Paketverfolgung usw. informieren. Ich würde dieses Problem lösen, indem ich jeder Bestellung eine zufällige ID zuweisen und jeder E-Mail einen Link hinzufügen würde. Der Link könnte folgendermaßen aussehen: http://shop.foo.bar/order/rwklvc46g9wt7kvy09f1

Würden Sie zusätzliche Maßnahmen zum Schutz der Daten ergreifen? Oder eine ganz andere Lösung wählen?

Vorteile:

  • Keine jährlichen Statusaktualisierungen pro E-Mail (insbesondere wenn häufige Aktualisierungen auftreten)
  • einzelne Informationsquelle (nie veraltet)
  • teilbar (zB an seinen Chef oder Kollegen)

Nachteile:

  • private Daten, die auf einer öffentlich zugänglichen Website veröffentlicht werden (z. B. Telefonnummern, Zahlungsdetails)
Dan Elpat
quelle
4
Hallo Dan, willkommen bei Webmasters. Sie haben anscheinend zwei identische Benutzer (?) Erstellt und Ihre Frage mit dem anderen "Dan" bearbeitet - aus diesem Grund befindet sie sich in einer Warteschlange und wartet auf die Genehmigung. Der Benutzer, der die Frage stellt, kann seine eigenen Fragen jederzeit frei bearbeiten und Kommentare zu den Antworten usw. abgeben. Der andere "Dan" hat nicht genug Ruf, um beides zu tun - weil er die Frage nicht gestellt hat.
MrWhite

Antworten:

8

Ohne zusätzliche Sicherheit nein. Zufällige URLs werden ständig gecrawlt. Dies ist jedoch gut, wenn Sie eine Anmeldeseite zur Authentifizierung des Benutzers verwenden.

Eine Zwischenlösung besteht darin, sicherzustellen, dass die Statusseite keine persönlichen Daten enthält, sondern nur allgemeine Informationen. Zum Beispiel "BEZAHLT VON CC" anstelle von "BEZAHLT VON VISA 1234567891" und "Versand" anstelle von "Versand an John Doe, 123 Blue Street" usw.

Itai
quelle
0

Ich denke, Sie sollten diese Daten mehr schützen. In Bezug auf die Einfachheit des Systems stimme ich sehr zu, dass öffentliche URLs mit einer zufälligen und eindeutigen Zeichenfolge ausreichend und praktisch sind.

Wenn jedoch Zahlungsmethoden (einschließlich Kreditkarteninformationen), E-Mails oder Telefone angezeigt werden sollen, müssen Sie diese Daten genau dort schützen. Es hängt auch davon ab, welcher Teil der Welt Sie sind, aber in den meisten von ihnen erstreckt sich dieser Bedarf auf rechtliche Angelegenheiten und den Datenschutz der Benutzer.

Was die meisten Shopping-Websites für diese Art von Situationen tun, ist entweder nach Anmeldeinformationen (Login / Passwort) oder einer Tracking-Nummer mit einem Tracking-Code zu fragen oder etwas, das möglicherweise nur der Benutzer oder die vertrauenswürdigen Parteien des Benutzers haben.

Alpha
quelle
-1

Ja, es reicht aus, solange:

  1. Sie senden den Link einfach per E-Mail und senden ihn nicht an Google. Laut Ihrer Frage tun Sie dies jedoch so, dass Google den Link nicht kennenlernen kann, da er niemals indiziert / gecrawlt wird.

  2. Sie machen die in Link verwendete ID zufällig und ausreichend lang. Wenn es nicht zufällig ist, aber Sie eine einfache inkrementelle Ganzzahl als ID verwenden, kann einer Ihrer Kunden leicht erkennen, dass er durch Eingabe inkrementell einfacher Zahlen in den Link alle anderen Bestellungen lesen kann. Wenn es zufällig ist, aber nicht lang genug (sagen wir, es besteht nur aus 4 Ziffern / Buchstaben), wäre es selbst mit einem Heim-PC einfach, Ihre Befehle mit brutaler Gewalt anzugreifen. Ich müsste nur versuchen (26 + 10) ^ 4 = 1.679.616 mögliche Kombinationen. Angenommen, ich führe ein Skript aus, das einen Link pro Sekunde versucht. Es würde weniger als 20 Tage dauern, bis das Skript alle möglichen Links brutal erzwungen und alle Ihre Bestellungen gelesen hat.

  3. WICHTIG: Um die Sicherheit zu erhöhen, sollten Sie den Link nach einer bestimmten Anzahl von Tagen (dh nach 1 Monat) löschen. Dies ist der Trick, um es sicher zu machen. Auf diese Weise würde jemand, selbst wenn er versucht, Ihre Links brutal zu erzwingen, eine enorme Rechenleistung benötigen, da sein Angriff sonst niemals schnell genug ist, um alle möglichen Kombinationen auszuprobieren, bevor sie gelöscht werden. Und selbst wenn er eine enorme Rechenleistung hat, kann er kaum mehr als einen Link pro Sekunde testen, da der Server, der Ihre Bestellungen bearbeitet, möglicherweise seine Verbindung ablehnt, wenn er versucht, einmal pro Sekunde wiederholt eine Verbindung herzustellen. Zu Ihrer Information: Das Löschen des Links bedeutet nicht, dass Sie die gesamte Bestellung in der Datenbank löschen müssen. Sie können einen anderen Primärschlüssel für die Auftragstabelle verwenden (ein einfaches Autoincrement int) und ein EINZIGARTIGES Feld (das NULL zulässt) mit dem Namen link_id verwenden, das Sie in link eingeben. Nach einem Monat müssen Sie einfach den Wert von link_id löschen und auf NULL setzen. Auf diese Weise bleibt die Bestellung in der Tabelle und kann in Ihrem Admin-Bereich angezeigt werden. Der direkte Link zum direkten Anzeigen der Bestellseite ist jedoch nicht mehr gültig.

Marco Demaio
quelle