Cloudflare Turnstile optional, Formular-Fehlerseite repariert
Turnstile laesst sich in den Einstellungen einschalten: aus, bis beide Schluessel eingetragen sind; die Sicherheitsrichtlinie oeffnet sich nur auf Seiten mit Formular, und nur fuer challenges.cloudflare.com. Antwortet Cloudflare nicht, gilt die Absendung als bestanden - ein Ausfall dort darf keine Kundenanfrage kosten. Die drei eingebauten Pruefungen ohne Dritte bleiben davon unberuehrt. Dabei gefunden: wer ein Pflichtfeld vergass, bekam die Seite ohne Gestaltung zurueck. Der Formularcode baute sie selbst ein zweites Mal auf und liess Theme, Blockstile und Schriften weg. Jetzt geht auch dieser Weg durch den Seitencontroller, die Meldungen reisen als Anfrageattribut mit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a2dfd0f796
commit
e0d06ac44c
11 files changed
+311
-44
No files matched your search
@@ -450,6 +450,28 @@ Umut: „Hast du auch schon SEO und Siteindex usw. übernommen?“ Der Abgleich
|
||||
|
||||
**Kein Sitemap-Index.** Das Original liefert einen (drei Teilkarten von Yoast), KantSites eine einzelne Datei mit allen Adressen. Ein Index ist erst ab 50.000 Adressen oder 50 MB vorgeschrieben; bei 35 Adressen wäre er eine Datei mehr ohne jeden Unterschied für eine Suchmaschine. Aufgeteilt wird, wenn es eine Website gibt, die das braucht – und dann automatisch, nicht als Einstellung.
|
||||
|
||||
## ADR 059 – Cloudflare Turnstile: optional, und der Preis steht dabei (13.09.2026)
|
||||
|
||||
Umut: „bei Formularen hätte ich gerne optional Cloudflare." Eingebaut sind drei Prüfungen ohne Dritte – ein verstecktes Feld, ein signierter Zeitstempel, fünf Absendungen je Absender und Stunde. Sie halten ab, was ein Skript ausfüllt; gegen jemanden, der einen echten Browser fernsteuert, helfen sie nicht.
|
||||
|
||||
**Turnstile und nicht reCAPTCHA:** keine Cookies, keine Google-Anmeldung, keine Verhaltensauswertung über Websites hinweg. Ein Dritter bleibt es trotzdem – die IP-Adresse des Absenders geht an Cloudflare, und das gehört in die Datenschutzerklärung.
|
||||
|
||||
Drei Entscheidungen, die nicht offensichtlich sind:
|
||||
|
||||
**Aus, bis jemand sie einschaltet.** Eine Website ohne Spamwelle soll keinen Dritten einbinden. Eingeschaltet ohne Schlüssel wird abgelehnt: das wäre ein Formular, das jede Anfrage verschluckt.
|
||||
|
||||
**Antwortet Cloudflare nicht, gilt die Absendung als bestanden.** Ein Ausfall bei einem Dritten darf keine Kundenanfrage kosten. Spam ist ärgerlich, eine verlorene Anfrage ist teurer.
|
||||
|
||||
**Die Sicherheitsrichtlinie öffnet sich nur dort, wo ein Formular steht** – Skript und Rahmen von `challenges.cloudflare.com`, und das auch nur auf den betroffenen Seiten. Jede andere Seite behält `script-src 'none'`.
|
||||
|
||||
Der Preis steht in der Verwaltung: das Widget braucht JavaScript. Ohne Skript ist das Formular dann nicht absendbar – genau die Art von Verschlechterung, die dieses Projekt sonst vermeidet. Deshalb steht im Formular ein `<noscript>`-Hinweis mit dem Weg über E-Mail.
|
||||
|
||||
## ADR 060 – Die Fehlerseite eines Formulars ist dieselbe Seite (13.09.2026)
|
||||
|
||||
Beim Einbau von Turnstile gefunden: wer ein Pflichtfeld vergaß, bekam die Seite **ohne Gestaltung** zurück. Der Formularcode baute sie selbst ein zweites Mal auf und ließ dabei alles weg, was er nicht kannte – Theme, Blockstile, Schriften, das Stylesheet-Bündel. Zwei Renderwege für dieselbe Seite, und der zweite hinkte hinterher, seit es den ersten gibt.
|
||||
|
||||
Jetzt geht auch dieser Weg durch den Seitencontroller. Die Meldungen und die eingetippten Werte reisen als Anfrageattribut mit; die Seite entsteht genau einmal, mit allem, was dazugehört. Eine Sonderregel blieb nötig: die Startseite leitet von ihrem eigenen Pfad auf `/` um, und diese Umleitung hätte die Meldungen verworfen – sie gilt für diesen Weg nicht.
|
||||
|
||||
## ADR 058 – Bilder in der Größe, in der sie erscheinen (13.09.2026)
|
||||
|
||||
Gemessen auf der nachgebauten Startseite: ein Telefon lud das Hintergrundbild des Hero mit **1920 Pixeln und 189 KB**. Zu sehen war davon nie mehr als ein Viertel. Die Ursache ist bauartbedingt: wer im Editor ein Hintergrundbild wählt, sitzt am Schreibtisch und setzt es unter „Desktop“; kleine Geräte erben diese Regel, und CSS kennt kein `srcset`.
|
||||
|
||||
Reference in new issue
Block a user