rate-limit-newsletterHTTP 429Für GästeHTTP 429 rate_limited (Newsletter-Anmeldung, mit CORS-Headern)
Woran es liegt
Zwei Bremsen: höchstens 5 Anmeldungen je Stunde und IP (Schlüssel newsletter:<ip>) und höchstens 3 je Stunde, Betrieb und Empfängeradresse (Schlüssel newsletter-an:<restaurantId>:<SHA-256 der Adresse> — im geteilten Zähler liegt die Adresse nur als Hash). Die zweite fängt Bots, die aus vielen Netzen dieselbe fremde Adresse eintragen und so Dritten Bestätigungsmails zuschicken. Innerhalb von 10 Minuten nach einer Anfrage mit denselben Kanälen geht ohnehin keine zweite Mail hinaus: der erste Link bleibt gültig, die Route antwortet { ok: true } (intern alreadyRequested: true). Beide Absagen tragen die CORS-Kopfzeilen, damit eine Website auf eigener Domain „Zu viele Anfragen“ zeigen kann statt eines Netzwerkfehlers.
Was zu tun ist
Gast: den Bestätigungslink aus der Mail der ersten Anmeldung anklicken; kam keine an, nach der genannten Wartezeit erneut anmelden. Wirt: nichts zu tun — drei Anmeldungen je Stunde reichen für „Mail nicht angekommen, nochmal“.