Browser-Linked Bestellhistorie
Zweck
Dieses Feature zeigt Kunden ihre zuletzt erstellten Bestellungen ohne Login-System.
Die Ansicht ist unter orders.php erreichbar und listet Bestellungen, die in diesem Browser gespeichert wurden.
Nutzerverhalten
- Nach erfolgreicher Reservierung wird die Bestellnummer automatisch im Browser gemerkt.
- Die Seite
Meine Bestellungen zeigt diese Bestellungen mit Typ, Datum, Status und Detail-Link.
- Es gibt keine manuelle Verknüpfung per Login oder Order-Import.
Technisches Modell (Best Effort)
- Speicherung erfolgt in einem signierten Cookie.
- Cookie-Inhalt:
base64url(payload).hmac
- Payload-Version
v=1:
ids: Liste der gemerkten Bestellnummern
iat: Zeitstempel der Erstellung
- Signatur:
hash_hmac('sha256', base64url(payload), ORDER_HISTORY_COOKIE_SECRET)
- Bei ungültiger/tamperter Signatur wird der Verlauf ignoriert (fail-safe, ohne Fehlerseite).
Limits und Aufbewahrung
- Maximale Anzahl gemerkter Bestellungen:
ORDER_HISTORY_MAX_IDS (Standard 10)
- Aufbewahrung:
ORDER_HISTORY_COOKIE_TTL_DAYS (Standard 365 Tage)
- Reihenfolge: neueste zuerst
Sicherheit und Datenschutz
- Browser-gebunden, nicht account-gebunden.
- Tamper-evident durch HMAC-Signatur.
- Cookie-Flags:
HttpOnly
SameSite=Lax
Secure bei HTTPS
- Wenn Browserdaten/Cookies gelöscht werden, ist der Verlauf weg.
Konfiguration
In config.php müssen folgende Werte gesetzt sein:
ORDER_HISTORY_COOKIE_NAME
ORDER_HISTORY_COOKIE_TTL_DAYS
ORDER_HISTORY_MAX_IDS
ORDER_HISTORY_COOKIE_SECRET
ORDER_HISTORY_COOKIE_SECRET muss ein eigener, ausreichend zufälliger Wert sein.
Betrieb und Fehlerverhalten
- Das Feature ist bewusst best effort:
- Kann der Cookie nicht geschrieben werden, bleibt der Checkout trotzdem erfolgreich.
- Nicht mehr vorhandene oder ausgeblendete Bestellungen erscheinen nicht in
orders.php.
- Ungültige Cookie-Daten werden still verworfen.