So schützen Sie Ihre API – Schnellstartanleitung
Warum ist das notwendig?
CrowdHandler leitet Endnutzer, die versuchen, auf eine geschützte Webseite oder eine Anwendungsseite zuzugreifen, in einen Warteraum um. Sind die API-Endpunkte, die das Frontend-Erlebnis steuern, auffindbar – beispielsweise, wenn sie clientseitig aufgerufen werden –, könnten technisch versierte Nutzer, Schwarzhändler und/oder Bots versuchen, das Frontend vollständig zu umgehen, um über Ihre API-Endpunkte direkt an das Gewünschte zu gelangen.
Sollte ich mir Sorgen machen?
Auch wenn dies kein schlüssiges Argument ist, sollten Sie in Betracht ziehen, Ihre API-Endpunkte zu schützen, wenn eines oder mehrere der folgenden Kriterien erfüllt sind:
- Ihre Transaktions-API-Endpunkte sind auffindbar.
- Sie verkaufen beliebte Produkte, bei denen die Nachfrage das Angebot voraussichtlich übersteigen wird.
- Sie haben eine technisch versierte Nutzerbasis.
- Ihre Produkte sind bekanntermaßen ein beliebtes Ziel für Wiederverkäufer.
Maßnahmen ergreifen
Szenario 1 – Der API-Endpunkt verwendet den dasselbe Domain als die Website, die Sie schützen möchten.
Beispiel
Geschützte Domain – https://tickets.example.com
API-Endpunkt – https://tickets.example.com/v1/api
Voraussetzung
Sie sollten Ihre Website bereits mithilfe einer unserer CDN- oder serverseitigen Integrationsoptionen in CrowdHandler integriert haben.
CrowdHandler – Optionen zum Schutz von Räumen
Alle URLs
Es sind keine weiteren Maßnahmen erforderlich
URLs, die regulären Ausdrücken entsprechen
- Die Seite(n), auf der/denen Endnutzer das begehrte Produkt in den Warenkorb legen, sollte(n) geschützt sein.
- Die API-Route, über die das begehrte Produkt in den Warenkorb gelegt werden kann, sollte geschützt werden.

Überlegungen
Meine API-URL-Routen sind generisch
Passen Sie Ihre API-URL-Routen so an, dass sie die Produkt-ID oder den Slug als Parameter im Abfrage-String enthalten.
https://tickets.example.com/v1/api/basket → https://tickets.example.com/v1/api/basket?id=64398
Dies führt zu Raumzuordnungen durch den CrowdHandler.
Spoofing verhindern
Stellen Sie in Ihrer API sicher, dass die in der API-URL enthaltene Produkt-ID oder der Slug mit der Produkt-ID oder dem Slug in der Nutzlast übereinstimmt. Ohne diese zusätzliche Schutzebene kann die Produkt-ID oder der Slug im Abfrage-String geändert werden, um Ihre CrowdHandler-Raumkonfiguration zu umgehen.
Szenario 2 – Der API-Endpunkt verwendet einen anders Domain der Website, die Sie schützen möchten.
Beispiel
Geschützte Domain – https://tickets.example.com
API-Endpunkt – https://datasource.com/v1/api
CrowdHandler – Raumkonfiguration
- Konfigurieren Sie Ihre CrowdHandler-Räume so, dass die Website-Domain (https://tickets.example.com) geschützt wird, NICHT die API-Domain.
- Die Seite(n), auf der/denen Endnutzer das begehrte Produkt in den Warenkorb legen, sollte(n) geschützt sein.
- Die Raumkonfiguration sollte ausschließlich mit den URLs Ihrer geschützten Domain übereinstimmen.
Umsetzungsschritte
API-Anfragen bearbeiten – Nutzdaten
Fügen Sie der Nutzlast Ihrer API-Route „In den Warenkorb“ zwei zusätzliche Felder hinzu. Schlüssel: sourceURL Wert: location.href (die URL der geschützten Seite, von der aus der API-Aufruf erfolgt) Schlüssel: chToken Wert: CrowdHandler-Token (wird je nach Integrationsart aus dem Cookie oder dem lokalen Speicher abgerufen).
Überprüfen Sie die Anfrage serverseitig.
const urlParts = new URL(params.sourceURL);
const token = params.chToken;
const crowdhandler = require('crowdhandler-sdk');
const mockRequest = {
getHost: () => urlParts.host,
getPath: () => urlParts.pathname,
getCookies: () => `crowdhandler=${token}`
};
const { gatekeeper } = crowdhandler.init({
publicKey: 'your-public-key',
request: mockRequest,
response: {}, // Empty object is fine for validation only
});
const result = await gatekeeper.validateRequest();
// ✅ This works!
// result.promoted = true/false
// Reject if false ❌
// result.error = { message, statusCode, code } (if error occurred)