Webdesign-Bereich: Fundament, oeffentliche Seiten, Zugangsschutz, PayPal
Umsetzung des "Website Masterplan" (16 Seiten) unter /webdesign. Zugangsschutz mit EIGENER Schranke (server/webdesign-gate.js) statt gate.js: gate.js laesst seit dem oeffentlichen Start am 21.08.2026 jeden durch, weil die Pruefung auf SITE_PUBLIC_LAUNCH_AT als allererste Zeile steht. Haette man /webdesign dahintergehaengt, waere der ausdruecklich nicht-oeffentliche Bereich inklusive Preisen und spaeteren Kundendaten ab der ersten Sekunde fuer jeden lesbar gewesen. Eigenes Sitzungs-Cookie, bereich="webdesign" im Token, damit ein gueltiges Universe-Cookie hier NICHT gilt. 37/37 Tests. Sieben oeffentliche Seiten in fuenf Sprachen (de, de-CH mit echtem Dialekt, en, fr, pt). Preise, Zeitrahmen, Paketnamen und die 30-%-Regel stehen an genau EINER Stelle in wd-core.js -- der Masterplan verlangt "ueberall widerspruchsfrei", und vier Kopien laufen bei der ersten Preisaenderung auseinander. Als App installierbar auf Handy und PC. Der Service Worker speichert bewusst KEINE HTML-Seite zwischen: nach dem Abmelden wuerden sonst geschuetzte Seiten weiter ausgeliefert, ohne dass der Server je gefragt wird. 18/18 Tests. Handy-Abnahme ueber alle Seiten in fuenf Breiten (320-1440) und fuenf Sprachen: 40/40. Der Test fand 35 echte Fehler (Touch-Ziele unter 44px), behoben im Designsystem statt einzeln pro Seite. PayPal (Wunsch 22.08.2026 "sofort auf meinem paypal"): Orders API mit intent=CAPTURE, also sofortiger Einzug statt blosser Reservierung. Gebuehr und Nettobetrag getrennt gespeichert. Betraege durchgehend als Ganzzahl in Cent. Gefaelschte Webhooks werden abgewiesen. Fail closed solange Zugangsdaten fehlen. 28/28 Tests gegen einen nachgebauten PayPal-Server. Datenbank: 15 Tabellen mit Praefix wd_, fachlich vollstaendig vom Universe getrennt. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -15,3 +15,26 @@ SITE_ACCESS_CODE_DIENE=
|
||||
# automatischer Start, die Schranke bleibt dauerhaft aktiv.
|
||||
# Beispiel (21 Uhr deutscher Sommerzeit): 2026-08-21T21:00:00+02:00
|
||||
SITE_PUBLIC_LAUNCH_AT=
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Webdesign-Bereich (/webdesign), 22.08.2026 — eigener Zugangsschutz.
|
||||
# Bewusst UNABHAENGIG von SITE_PUBLIC_LAUNCH_AT oben: der oeffentliche Start
|
||||
# des Universe darf diesen Bereich nicht mit aufsperren.
|
||||
# ---------------------------------------------------------------------------
|
||||
# Status: entwurf | vorabpruefung | freigegeben
|
||||
# entwurf = komplett dicht, auch mit richtigem Code kein Zugang
|
||||
# vorabpruefung = Zugang nur ueber die persoenlichen Codes (Standard)
|
||||
# freigegeben = oeffentliche Seiten frei; die Verwaltung bleibt geschuetzt
|
||||
WEBDESIGN_STATUS=vorabpruefung
|
||||
|
||||
# Leer lassen = die SITE_ACCESS_CODE_*-Codes von oben gelten auch hier
|
||||
# (so eingerichtet auf Wunsch vom 22.08.2026). Wird hier spaeter ein eigener
|
||||
# Wert eingetragen, gilt NUR noch dieser -- damit laesst sich der
|
||||
# Webdesign-Zugang getrennt aendern oder entziehen, ohne den Universe-Zugang
|
||||
# anzufassen.
|
||||
WEBDESIGN_CODE_DOGI=
|
||||
WEBDESIGN_CODE_VANVAN=
|
||||
# Eigenes Signatur-Geheimnis fuer die Webdesign-Sitzung. Leer lassen = es
|
||||
# wird SITE_ACCESS_SECRET benutzt. Ein Universe-Cookie funktioniert hier
|
||||
# trotzdem nicht (die Sitzung traegt zusaetzlich bereich="webdesign").
|
||||
WEBDESIGN_ACCESS_SECRET=
|
||||
|
||||
Reference in New Issue
Block a user