In diesem Artikel haben wir versucht, alle wichtigen Fragen zu beantworten. Der erste Schritt bei der Lösung der Aufgabe besteht darin festzustellen, welches Schutzsystem eingesetzt wird. Dazu können Sie die Liste beliebter Captchas und Anti-Bot-Schutzsysteme heranziehen, in der visuelle Beispiele und zentrale Merkmale aufgeführt sind, die Ihnen helfen, schnell zu erkennen, womit Sie es zu tun haben.
Wenn Sie feststellen, dass auf Ihrer Website Imperva Incapsula eingesetzt wird, besteht der nächste Schritt darin, seine Eigenschaften und Funktionsweise genauer zu untersuchen. Ebenfalls in diesem Artikel finden Sie eine Anleitung zur Integration von Imperva Incapsula, damit Sie vollständig verstehen, wie das System auf Ihrer Website arbeitet. So können Sie nicht nur den aktuellen Schutz besser einschätzen, sondern auch seine Wartung vorausschauend planen.
Beim Testen von Seiten, die durch Imperva Incapsula geschützt sind, ist es oft notwendig sicherzustellen, dass der Schutz korrekt funktioniert und das System verdächtigen Datenverkehr richtig filtert.
Sie können die Funktion des Schutzes auf Ihrer Website manuell überprüfen:
Zur Automatisierung solcher Tests können Dienste wie CapMonster Cloud verwendet werden.
CapMonster akzeptiert die Parameter der Imperva-Challenge (z. B. das Cookie _incap_, Daten aus HTML und Skripten), verarbeitet sie und gibt fertige gültige Cookies zurück, die in den Browser oder HTTP-Client eingesetzt werden können.
Die Arbeit mit CapMonster Cloud über die API umfasst in der Regel folgende Schritte:
In der Anfrage zum Lösen von Incapsula müssen folgende Parameter angegeben werden:
type - CustomTask;
class - Imperva;
websiteURL - Adresse der Hauptseite, auf der sich Incapsula befindet;
incapsulaScriptUrl (innerhalb von metadata) - "incapsulaScriptUrl": "_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3" — Name der js-Datei von Incapsula;
incapsulaCookies (innerhalb von metadata) - Ihre Cookies von Incapsula. Erhältlich auf der Seite mittels document.cookie oder im Header der Anfrage Set-Cookie: "incap_sess_*=...; visid_incap_*=..." (siehe Beispielanfrage /createTask);
reese84UrlEndpoint (innerhalb von metadata) - Name des Endpunkts, an den der reese84-Fingerprint gesendet wird;
userAgent - User-Agent des Browsers. Übergeben Sie nur einen aktuellen UA vom Betriebssystem Windows;
Für diese Aufgabe ist auch die Verwendung Ihrer Proxys erforderlich:
proxyType :
proxyAddress - IP-Adresse des Proxys IPv4/IPv6;
proxyPort - Proxy-Port;
proxyLogin - Login des Proxy-Servers;
proxyPassword - Passwort des Proxy-Servers.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "Imperva",
"websiteURL": "https://example.com",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",
"metadata": {
"incapsulaScriptUrl": "_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3",
"incapsulaCookies": "incap_ses_1166_2930313=br7iX33ZNCtf3HlpEXcuEDzz72cAAAAA0suDnBGrq/iA0J4oERYzjQ==; visid_incap_2930313=P3hgPVm9S8Oond1L0sXhZqfK72cAAAAAQUIPAAAAAABoMSY9xZ34RvRseJRiY6s+;",
"reese84UrlEndpoint": "Built-with-the-For-hopence-Hurleysurfecting-the-"
},
"proxyType": "http",
"proxyAddress": "8.8.8.8",
"proxyPort": 8080,
"proxyLogin": "proxyLoginHere",
"proxyPassword": "proxyPasswordHere"
}
}{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}{
"errorId":0,
"status":"ready",
"solution": {
"domains": {
"https://example.com": {
"cookies": {
"___utmvc": "NMB+nRa4inxXNeXuh...MWIwNmU3MQ==; Max-Age=31536000; Domain=.site.com; Path=/; Secure; SameSite=Lax"
}
}
}
}
}Die von CapMonster Cloud erhaltenen Daten (gültige Incapsula-Cookies) können in den Browser-Kontext oder einen HTTP-Client eingefügt werden. Danach erkennt die Website die Anfrage als geprüft an und lässt den Benutzer ohne zusätzliche Challenges passieren.
Für die Automatisierung und Tests ist es praktisch, Puppeteer, Selenium oder Playwright zu verwenden — diese ermöglichen:
So kann die Korrektheit des Schutzes überprüft und sichergestellt werden, dass die Website gültige Incapsula-Sitzungen richtig verarbeitet.
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { chromium } from "playwright";
import { CapMonsterCloudClientFactory, ClientOptions, ImpervaRequest } from '@zennolab_com/capmonstercloud-client';
async function main() {
// 1) Einstellungen
const TARGET_URL = "https://example.com";
const API_KEY = "YOUR_CAPMONSTER_API_KEY";
const proxy = {
proxyType: "http",
proxyAddress: "PROXY_IP",
proxyPort: 8080,
proxyLogin: "PROXY_USER",
proxyPassword: "PROXY_PASS"
};
// 2) Wir öffnen die Website und sammeln Imperva-Cookies
const browser = await chromium.launch({
headless: true,
proxy: {
server: `${proxy.proxyType}://${proxy.proxyAddress}:${proxy.proxyPort}`,
username: proxy.proxyLogin,
password: proxy.proxyPassword
}
});
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: "networkidle" });
const cookies = await page.context().cookies();
const impervaCookiesString = cookies
.filter(c => c.name.startsWith("visid_incap_") || c.name.startsWith("incap_ses_"))
.map(c => `${c.name}=${c.value}`)
.join("; ");
console.log("Imperva-Cookies von der aktuellen Seite:", impervaCookiesString);
await browser.close();
// 3) Wir lösen die Imperva-Challenge
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
const impervaRequest = new ImpervaRequest({
websiteURL: TARGET_URL,
userAgent: "USER_AGENT_STRING",
metadata: {
incapsulaScriptUrl: "_Incapsula_Resource?example_param",
incapsulaCookies: impervaCookiesString
},
proxy
});
const result = await cmcClient.Solve(impervaRequest);
console.log("Lösung:", result);
// 4) Wir setzen die erhaltenen Cookies ein
const domain = new URL(TARGET_URL).hostname;
const solutionCookiesObj = result.solution.domains[domain].cookies;
const solutionCookies = Object.entries(solutionCookiesObj).map(([name, value]) => ({
name,
value,
domain: ".your-domain",
path: "/",
secure: true,
httpOnly: false
}));
// 5) Setzen der Cookies und Öffnen der Seite
const browser2 = await chromium.launch({
headless: false,
proxy: {
server: `${proxy.proxyType}://${proxy.proxyAddress}:${proxy.proxyPort}`,
username: proxy.proxyLogin,
password: proxy.proxyPassword
}
});
const context2 = await browser2.newContext();
await context2.addCookies(solutionCookies);
const page2 = await context2.newPage();
const resp2 = await page2.goto(TARGET_URL, { waitUntil: "networkidle" });
// Ausgabe des Status der Zielseite (optional)
// console.log("Status der Zielseite nach dem Setzen der Cookies:", resp2?.status());
// …oder endgültiger Screenshot
// await page2.screenshot({ path: "final_page.png" });
console.log("Seite geladen mit angewendeten Imperva-Cookies.");
}
main().catch(console.error);
1. Erstellen Sie ein Konto (verwenden Sie bei der Registrierung Ihre geschäftliche E-Mail-Adresse) und gehen Sie zur Imperva Cloud Security Console.
2. Bestätigen Sie die E-Mail. Nach der Anmeldung gelangen Sie zum Dashboard (mehr über die Arbeit mit der Security Console erfahren Sie in der Dokumentation).
3. Öffnen Sie den Bereich Websites und geben Sie die echte Domain Ihrer Website ein.

Imperva wird automatisch:
4. Konfigurieren Sie die DNS-Einträge. Wenn Imperva den folgenden Schritt anzeigt:
Point dev.mysite.com DNS records to ImpervaTun Sie Folgendes:
Typ: CNAME
Name: dev (Subdomain, die Sie verbinden)
Wert: <ihr_imperva_host>.ng.impervadns.net
Beispiel:
dev.mysite.com > CNAME > xivaxeo.ng.impervadns.netOptional: Aktivieren Sie die Unterstützung für Non-SNI-Clients
Wenn Imperva die Benachrichtigung anzeigt:
If you expect Non-SNI traffic…
Dies betrifft veraltete Clients und spezifische Integrationen. Wenn Ihre Website gewöhnlich ist, kann dieser Schritt übersprungen werden.
Falls erforderlich, aktivieren Sie:
CDN > Delivery > Support Non-SNI clients
5. Warten Sie auf die DNS-Verifizierung. Imperva aktiviert den Schutz und SSL.
Sobald DNS verbunden ist, wird Imperva automatisch:
6. Beschränken Sie den direkten Zugriff auf Ihren Server (empfohlen)
Damit der Datenverkehr nur über Imperva läuft, sollten Sie auf Ihrem Server:
Ausführlichere Informationen finden Sie im Bereich Create Rules.
7. Überprüfen Sie die Funktion der Website. Nach der Aktivierung
curl -I https://dev.mysite.comIn den Headern sollten Zeilen wie folgt erscheinen:
HTTP/1.1 403 Forbidden
Content-Type: text/html
Cache-Control: no-cache, no-store
Connection: close
Content-Length: 1234
X-Iinfo: 00-00000000-0 0NNN RT(1234567890 0) q(0 -1 -1 1) r(0 -1) B16(0,0,0) U24
Strict-Transport-Security: max-age=31536000
Set-Cookie: visid_incap_00000000000000000000000000000000=ABCDEFG1234567890TESTCOOKIE; expires=Wed, 11 Nov 2026 23:41:40 GMT; HttpOnly; path=/; Domain=.example.com; Secure; SameSite=None
Set-Cookie: incap_ses_0000_00000000=TESTSESSION1234567890; path=/; Domain=.example.com; Secure; SameSite=None
Das bedeutet, dass der Datenverkehr durch Imperva läuft.
Wenn Sie eine Website übernommen haben, auf der bereits ein Captcha oder ein anderes Schutzsystem installiert ist und Sie keinen Zugriff auf den Code haben, ist das kein Problem! Es ist ziemlich einfach festzustellen, welche Technologie genau verwendet wird. Und um die korrekte Funktionsweise zu überprüfen, können Sie den Erkennungsdienst CapMonster Cloud in einer isolierten Testumgebung nutzen, um sicherzustellen, dass der Mechanismus zur Tokenverarbeitung und die Prüflogik ordnungsgemäß funktionieren.
Im Fall von Imperva Incapsula reicht es aus, das System zu erkennen, sein Verhalten zu analysieren und sich zu vergewissern, dass der Schutz korrekt arbeitet. In diesem Artikel haben wir gezeigt, wie Sie Imperva Incapsula identifizieren und wo Sie Anleitungen für die Einbindung oder Neukonfiguration finden, damit Sie den Schutz zuverlässig betreiben und seine Arbeit unter Kontrolle halten können.