MAISON CODE .
/ Security · Cloudflare · Bots · Infrastructure · Redis · Architecture

Bot-Mitigation: Der Krieg gegen Wiederverkäufer

Sneaker-Bots fressen Ihr Inventar. Ein technischer Leitfaden zur Bekämpfung automatisierter Scalper mithilfe von Cloudflare Turnstile, Honeypots und Redis Rate Limiting.

AB
Alex B.
Bot-Mitigation: Der Krieg gegen Wiederverkäufer

Wenn Sie ein Hype-Produkt auf Shopify (z. B. einen limitierten Sneaker-Drop) ohne Schutz starten, sind Sie innerhalb von 1 Sekunde ausverkauft. Das klingt nach einem „guten Problem“. Das ist es nicht. Weil 98 % des Inventars an einen einzelnen Wiederverkäufer in Chicago gingen, der ein Python-Skript ausführte. Ihre treuen Kunden – die Menschen, die die Marke tatsächlich tragen – haben nichts bekommen. Sie sind wütend. Sie twittern. Sie gehen.

Bot Mitigation ist kein IT-Ticket. Es handelt sich um Markenschutz. Bei Maison Code Paris entwickeln wir „Fair Launch“-Systeme, die sicherstellen, dass Menschen gewinnen.

Warum Maison Code darüber spricht

Bei Maison Code Paris fungieren wir als das architektonische Gewissen unserer Kunden. Wir übernehmen oft „moderne“ Stacks, die ohne grundlegendes Verständnis für Skalierung gebaut wurden.

Wir diskutieren dieses Thema, weil es einen kritischen Wendepunkt in der technischen Reife darstellt. Die korrekte Implementierung unterscheidet ein fragiles MVP von einer widerstandsfähigen Plattform auf Unternehmensniveau.

Warum Maison Code Bot-Schutz diskutiert

Wir haben gegen die fortschrittlichsten Bots der Welt gekämpft. Wir haben Bots gesehen, die reCAPTCHA V3 lösen können. Wir haben in 50 Bundesstaaten Bots gesehen, die private Proxys verwenden, um wie iPhone-Benutzer auszusehen. Wir wissen, dass die Installation eines Plug-Ins nicht ausreicht. Sie benötigen mehrschichtige Verteidigung. Wir teilen unsere Strategie, damit Sie sich auf den Krieg vorbereiten können.

1. Das Bedrohungsmodell: Wie Bots funktionieren

Um einen Bot zu stoppen, müssen Sie wie ein Bot-Entwickler denken. Die meisten Bots „durchsuchen“ Ihre Website nicht.

  1. Überwachen: Sie fragen Ihren „products.json“-Endpunkt alle 50 ms ab.
  2. Warenkorb: Sie umgehen die Benutzeroberfläche vollständig und posten /cart/add.js direkt.
  3. Zur Kasse: Sie verwenden „Preload-Links“, um Versand/Rechnung automatisch auszufüllen.
  4. Proxys: Sie leiten den Datenverkehr über 10.000 private IPs (gekaperte IoT-Geräte).
  5. Captcha: Sie nutzen API-Farmen (2Captcha), bei denen Menschen in Click-Farmen Captchas für 0,001 € lösen.

2. Ebene 1: Die unsichtbare Herausforderung (Cloudflare Turnstile)

Das alte Google reCAPTCHA (Click Ampeln) zerstört Conversion-Raten. Wir verwenden Cloudflare Turnstile. Es ist „unsichtbar“. Im Browserhintergrund wird eine JavaScript-Proof-of-Work-Challenge ausgeführt. Wenn es sich bei dem Besucher um ein Headless-Skript (Puppeteer/Selenium) handelt, besteht die Prüfung nicht.

Umsetzung in Remix (Wasserstoff)

Wir integrieren Turnstile in den Einreichungsablauf „Formular“.

„tsx // app/components/Turnstile.tsx import { useEffect, useRef } from ‘react’;

Exportfunktion Turnstile({ siteKey, action }) { const ref = useRef(null);

useEffect(() => { if (window.turnstile) { window.turnstile.render(ref.current, { Sitekey: SiteKey, action: action, // z. B. ‘checkout-start’ Rückruf: function(token) { // Token in versteckte Eingabe einfügen document.getElementById(‘cf-token’).value = token; } }); } }, []);

return

; } „

Serverseitige Validierung

Vertraue niemals dem Kunden. Ein Bot kann einen gefälschten Token senden. Sie müssen es mit der Cloudflare-API überprüfen.

„Typoskript // app/routes/api.checkout.ts Asynchrone Funktionsaktion exportieren ({ request }) { const formData = waiting request.formData(); const token = formData.get(‘cf-turnstile-response’); const ip = request.headers.get(‘CF-Connecting-IP’);

const result = waiting fetch(‘https://challenges.cloudflare.com/turnstile/v0/siteverify’, { Methode: ‘POST’, body: neue URLSearchParams({ Geheimnis: process.env.TURNSTILE_SECRET, Antwort: Token, remoteip: ip }) });

const result = wait result.json(); if (!outcome.success) { throw new Response(“Bot Detected”, { status: 403 }); } } „

3. Ebene 2: Der Honeypot (einfach, aber effektiv)

Bots sind oft dumm. Sie finden jedes „“-Feld und füllen es aus. Wir fügen einen „Honey Pot“ hinzu. Ein verborgenes Feld, das ein Mensch nicht sehen kann (CSS ausgeblendet). Wenn der Server einen Wert in diesem Feld erhält, sperren wir die IP sofort.

„tsx

Hinweis: Verwenden Sie nicht „display: none“. Intelligente Bots ignorieren „display: none“-Elemente. Verwenden Sie „Deckkraft: 0“ oder verschieben Sie es aus dem Bildschirm („links: -9999px“).

4. Schicht 3: Ratenbegrenzung (Redis-Token-Bucket)

Ein Mensch kann einen Artikel nicht 50 Mal in einer Sekunde in den Warenkorb legen. Wir implementieren eine strikte Ratenbegrenzung auf der Anwendungsebene (Vercel Middleware). Wir verwenden Redis (Upstash), um die Anzahl der Anfragen zu verfolgen.

Algorithmus: Schiebefenster.

  • Schlüssel: ratelimit:ip:192.168.1.1
  • Limit: 5 Anfragen / 10 Sekunden.

„Typoskript // middleware.ts import { Redis } from ‘@upstash/redis’; import { Ratelimit } aus ‘@upstash/ratelimit’;

const ratelimit = new Ratelimit({ redis: Redis.fromEnv(), Begrenzer: Ratelimit.slidingWindow(5, ‘10 s’), });

Standard-Middleware für asynchrone Funktionen exportieren (Anfrage) { const ip = request.ip || ‘127.0.0.1’; const { success } = waiting ratelimit.limit(ip);

if (!success) { return new Response(“Too Many Requests”, { status: 429 }); } } „ Kosten: Dies erhöht die Latenz um ca. 20 ms. Wir wenden es nur auf Mutations-Routen („POST“) an, nicht auf Lese-Routen („GET“).

5. Schicht 4: Der virtuelle Warteraum (Warteschlange)

Manchmal ist der Verkehr real (100.000 echte Fans). Dies ist ein DDoS-Angriff der Liebe. Ihre Datenbank wird abstürzen. Um dieses Problem zu lösen, implementieren wir ein Warteschlangensystem (wie Queue-it, aber benutzerdefiniert).

  1. Choke Point: Der gesamte Datenverkehr erreicht den Edge.
  2. Kapazitätsprüfung: „Ist „aktive_Benutzer < 1000“?“
  3. Umleitung: Wenn voll, leiten Sie zur statischen HTML-Seite „/waiting-room“ weiter.
  4. Umfrage: Client fragt „/api/status“ ab.
  5. Zulassen: Wenn die Kapazität frei wird, geben Sie ein signiertes JWT-Cookie („queue_pass“) aus.

Dadurch wird sichergestellt, dass Ihre Shopify-API-Aufrufe niemals das Drosselungslimit überschreiten.

6. Das Wettrüsten: Verhaltensanalyse

Fortgeschrittene Bots (Stealth) imitieren Browser-Fingerabdrücke perfekt. Wir gehen zu Verhaltensbiometrie über. Wir verfolgen:

  • Mausflugbahn: Menschen bewegen sich effektiv in Kurven. Bots bewegen sich in geraden Linien oder teleportieren.
  • Tastendruck-Timing: Menschen haben unterschiedliche Abstände zwischen Tastenanschlägen. Bots tippen in genau 50-ms-Intervallen.
  • Beschleunigungsmesser: Mobilgeräte zittern leicht. Server nicht.

Wir senden diese Telemetriedaten an eine Betrugsmaschine (Sift/Forter).

7. Die Ökonomie des Bottings

Warum Bots? Profitieren. Ein Paar Jordan Travis Scotts kostet im Einzelhandel 150 US-Dollar. Wird für 1.200 € weiterverkauft. Gewinn: 1.050 € pro Paar. Wenn ein Bot 50 Paare sichert, bedeutet das einen Gewinn von 50.000 € in 1 Stunde. Aus diesem Grund geben sie 5.000 US-Dollar für Bot-Lizenzen (CyberAIO) und 1.000 US-Dollar für Proxys aus. Unsere Aufgabe: Die Gewinnkosten auf über 1.200 € erhöhen. Dies erreichen wir durch die Einführung von „Zufälligkeit“ (Verlosungen) und „Friction“ (Überprüfung des Kontoalters). „Nur Konten, die vor mehr als 3 Monaten erstellt wurden, können diesen Drop kaufen.“ Dies macht die Strategie „Heute 1000 Konten eröffnen“ zunichte.

8. Clientseitige Verschlüsselung (Payload-Schutz)

Bots lieben es, Ihre API zurückzuentwickeln. Sie überwachen die Registerkarte „Netzwerk“. Sie sehen „POST /cart { id: 123 }“. Sie replizieren es in Python. Verteidigung: Verschlüsseln Sie die Nutzlast.

  1. WASM-Modul: Wir kompilieren eine C++-Verschlüsselungsfunktion für WebAssembly.
  2. Verschlüsselung: Der Browser verschlüsselt die Cart Payload „enc_abcd123…“.
  3. Entschlüsselung: Der Server verwendet den privaten Schlüssel zum Entschlüsseln. Bots können WASM nicht einfach ausführen (es erfordert eine vollständige Browserumgebung). Sie können den C++-Code nicht zurückentwickeln (er ist binär). Das legt die Messlatte deutlich höher.

9. Rechtliche Schritte (Unterlassung)

Manchmal versagt die Technologie. Wenn ein bestimmter Bot-Anbieter (z. B. „Dragon AIO“) gezielt auf Sie abzielt, sollten Sie sich juristisch engagieren. Nike verklagte StockX. Ticketmaster verklagte Scalper. Aktualisieren Sie Ihre Nutzungsbedingungen: „Die Nutzung von Automatisierungssoftware stellt einen Vertragsbruch dar.“ Auf diese Weise können Sie Bestellungen rechtsgültig stornieren, ohne die Versandkosten zu erstatten. Mach es schmerzhaft. Botter sind Unternehmen. Wenn Sie ihr rechtliches Risiko erhöhen, tendieren sie zu einem weicheren Ziel.

10. Fazit

Die Bekämpfung von Bots ist ein Wirtschaftskrieg. Man kann Bots nicht zu 100 % stoppen. Ihr Ziel ist es, die Angriffskosten über den potenziellen Gewinn zu erhöhen. Wenn der Kauf einer Bot-Lizenz 500 US-Dollar kostet und Proxys 50 US-Dollar kosten und der Gewinn aus dem Weiterverkauf Ihres Schuhs nur 200 US-Dollar beträgt, werden die Botter verschwinden.


**[Beauftragen Sie unsere Architekten](/contact)**.