logo
bars

Imperva Incapsula
en CapMonster Cloud

Captcha oplossen, installatie op de site en testen.
Heb je een site geërfd met een ingebouwde captcha of andere bescherming, maar zonder toegang tot de broncode? Dan wil je natuurlijk weten welke oplossing draait, of die goed is ingesteld en hoe je de werking test.

In dit artikel hebben we geprobeerd antwoord te geven op alle belangrijke vragen. De eerste stap bij het oplossen van het vraagstuk is vaststellen welk beveiligingssysteem wordt gebruikt. Daarvoor kun je de lijst met populaire captcha’s en anti-botbeveiligingssystemen raadplegen, met visuele voorbeelden en kernkenmerken die je helpen snel te bepalen waarmee je te maken hebt.

Als je ontdekt dat je website Imperva Incapsula gebruikt, is de volgende stap om de eigenschappen en werking ervan uitgebreider te bestuderen. In dit artikel vind je ook een handleiding voor het integreren van Imperva Incapsula, zodat je volledig begrijpt hoe het systeem op je website werkt. Zo kun je niet alleen de huidige bescherming beter doorgronden, maar ook het onderhoud ervan goed plannen.

Wat is Incapsula
Wat is Incapsula
Imperva Incapsula Web Protection is een cloud-gebaseerd systeem voor de bescherming van websites en applicaties tegen externe bedreigingen. Het systeem maakt gebruik van veilige reverse proxies en een Web Application Firewall (WAF), verspreid over de hele wereld op CDN-servers. De site wordt via beveiligde Imperva-servers geleid, waardoor elk verzoek kan worden gecontroleerd en schadelijke activiteiten kunnen worden gefilterd.

Hoe Incapsula op te lossen via CapMonster Cloud

Bij het testen van pagina's die zijn beveiligd door Imperva Incapsula, is het vaak nodig om te verifiëren of de beveiliging correct werkt en of het systeem verdacht verkeer juist filtert.

U kunt de werking van de beveiliging op uw site handmatig controleren:

  • Open de gewenste pagina en controleer of Incapsula een verificatie presenteert.
  • Probeer toegang te krijgen zonder de verificatie te voltooien — de site moet een 405-fout of een extra challenge retourneren.
  • Na het slagen voor de verificatie zou de toegang zonder fouten moeten openen.

Voor het automatiseren van dergelijke controles kunt u diensten zoals CapMonster Cloud gebruiken.

CapMonster accepteert de parameters van de Imperva-challenge (bijvoorbeeld de _incap_ cookie, data uit HTML en scripts), verwerkt deze en retourneert kant-en-klare geldige cookies, die in de browser of HTTP-client kunnen worden ingevoegd.

Werken met CapMonster Cloud via de API bestaat doorgaans uit de volgende stappen:

Taak aanmakenTaak aanmaken
arrow
API-aanvraag versturenAPI-aanvraag versturen
arrow
Resultaat ontvangenResultaat ontvangen
arrow
Incapsula-cookies in de pagina injecterenIncapsula-cookies in de pagina injecteren
arrow
Herkenning van Imperva Incapsula met gebruik van kant-en-klare bibliotheken
De dienst CapMonster Cloud biedt kant-en-klare bibliotheken voor handig werken in de talen Python en JavaScript (Node.js).
Python
JavaScript
Oplossen, parameters verkrijgen en cookies instellen
Voorbeeld in Node.js voor de volledige cyclus van captcha-herkenning op uw webpagina. Mogelijke benaderingen: gebruik HTTP-verzoeken om HTML en parameters van het beveiligingssysteem te verkrijgen, stuur het antwoord en verwerk het resultaat. Of met behulp van automatiseringstools (bijvoorbeeld Playwright) — open de pagina, wacht op de verificatie, stuur parameters via de CapMonster Cloud-client, ontvang het resultaat, voeg cookies in de browser in (voor testen kunt u zowel correcte als incorrecte data gebruiken) en bekijk het resultaat.
// 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) Instellingen
    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) We openen de site en verzamelen 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 van de huidige pagina:", impervaCookiesString);

    await browser.close();

    // 3) We lossen de Imperva-challenge op
    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("Oplossing:", result);

    // 4) We voegen de ontvangen cookies in
    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) Cookies instellen en pagina openen
    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" });

    // Output van de status van de eindpagina (optioneel)
    // console.log("Status van de eindpagina na het instellen van cookies:", resp2?.status());

    // …of eindscreenshot
    // await page2.screenshot({ path: "final_page.png" });

    console.log("Pagina geladen met toegepaste Imperva-cookies.");
}

main().catch(console.error);

Hoe Imperva Incapsula aan uw site te koppelen
Om met vertrouwen de werking van de captcha op uw site te begrijpen, de logica van de verificatie te doorgronden, en de beveiliging opnieuw te verbinden of te configureren, raden we u aan dit gedeelte te bestuderen. Hierin wordt het proces van het verbinden van de beveiliging beschreven — dit helpt u snel alle nuances te begrijpen.

1. Maak een account aan (gebruik uw werk-e-mail voor registratie) en ga naar de Imperva Cloud Security Console.

2. Bevestig uw e-mail. Na het inloggen komt u in het controlepaneel (meer over het werken met de Security Console vindt u in de documentatie).

3. Open de sectie Websites en voer het echte domein van uw site in.

HowTo Connect image 1

Imperva zal automatisch:

  • uw DNS-provider detecteren,
  • SSL controleren,
  • beginnen met het scannen van DNS-records.

4. Configureer DNS-records. Als Imperva de stap toont:

Point dev.mysite.com DNS records to Imperva

Doe het volgende:

  • Ga naar het DNS-paneel van uw registrar of hosting.
  • Maak het record aan of werk het bij:


Type: CNAME
Naam: dev (subdomein dat u verbindt)
Waarde: <uw_imperva_host>.ng.impervadns.net

Voorbeeld:

dev.mysite.com > CNAME > xivaxeo.ng.impervadns.net

Optioneel: schakel ondersteuning voor Non-SNI clients in

Als Imperva de melding toont:

If you expect Non-SNI traffic…

Dit betreft verouderde clients en specifieke integraties. Als uw site standaard is, kan deze stap worden overgeslagen.

Indien nodig, schakel in:

CDN > Delivery > Support Non-SNI clients

5. Wacht op DNS-verificatie. Imperva activeert de beveiliging en SSL.

Wanneer de DNS verbinding maakt, zal Imperva automatisch:

  • het CDN uitrollen,
  • de WAF (Web Application Firewall) activeren,
  • een HTTPS-certificaat aanmaken,
  • beveiliging tegen DDoS en bots inschakelen.

6. Beperk directe toegang tot uw server (aanbevolen)

Om ervoor te zorgen dat het verkeer alleen via Imperva loopt, moet u op uw server:

  • toegang alleen toestaan vanaf Imperva IP-adressen,
  • directe verbindingen verbieden (behalve uw eigen IP's),

Meer details vindt u in de sectie Create Rules.

7. Controleer de werking van de site. Na activering

  • open uw subdomein/domein in de browser,
  • of gebruik curl:

curl -I https://dev.mysite.com

In de headers zouden regels moeten verschijnen zoals:


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

Dit betekent dat het verkeer via Imperva loopt.

Background
Mogelijke fouten en debugging
Bug Icon
Ongeldig domein of regel — Challenge wordt niet getoond.
Controleer of de Security Rule is gekoppeld aan het juiste domein en pad, en of er geen conflicten zijn met IncapRules of ACL.
Bug Icon
Timeout bij het laden van de pagina of verificatie.
De browser wacht mogelijk niet op het antwoord van Imperva. Verhoog de timeouts in de tests en zorg ervoor dat de backend snel genoeg reageert.
Bug Icon
Verlopen Imperva-cookies.
Verouderde visid_incap, incap_ses, nlbi veroorzaken een herhaalde Challenge of blokkade.
Bug Icon
Overmatig gevoelige regels.
Strenge signaturen kunnen echte bezoekers van uw site blokkeren.
Bug Icon
Verkeerde configuratie.
Onjuiste instellingen of regels die geen rekening houden met de specifieke kenmerken van de site, veroorzaken foutieve blokkades en valse positieven (false positives).
Controle van de robuustheid
Controleer na de integratie of het systeem de site echt beschermt tegen geautomatiseerde acties.
Aanbevelingen voor veiligheid en optimalisatie
Configureer WAF en Security Policies op basis van het risiconiveau. Gebruik Managed Rules, Bot Protection en aangepaste regels voor nauwkeurigere controle.
Log beveiligingsgebeurtenissen en WAF-activaties om valse positieven te identificeren en de redenen voor blokkades te analyseren.
Voeg voor transparantie links toe naar het <b>Privacybeleid</b> en de <b>Gebruiksvoorwaarden</b>. Dit is belangrijk voor transparantie en naleving van beveiligingsvereisten.
Conclusie

Als je een website in beheer krijgt waarop al een captcha of een ander beveiligingssysteem is geïnstalleerd en je geen toegang hebt tot de code, is dat geen probleem! Het is vrij eenvoudig te bepalen welke technologie precies wordt gebruikt. Voor het controleren of alles correct werkt, kun je de herkenningsservice CapMonster Cloud in een geïsoleerde testomgeving gebruiken, zodat je zeker weet dat het tokenverwerkingsmechanisme en de validatielogica correct functioneren.

In het geval van Imperva Incapsula is het voldoende om het systeem te herkennen, het gedrag te analyseren en te bevestigen dat de beveiliging correct werkt. In het artikel hebben we laten zien hoe je Imperva Incapsula kunt herkennen en waar je instructies vindt om het te koppelen of opnieuw te configureren, zodat je de bescherming met vertrouwen kunt onderhouden en de werking onder controle kunt houden.

Conclusion
Handige links
DocIconDocumentatie Imperva IncapsulaDocIconInloggen bij Cloud Security ConsoleDocIconDocumentatie CapMonster Cloud (werken met Imperva Incapsula)