Imperva Incapsula
en CapMonster Cloud

Captcha oplossen, installatie op de site en testen.

Prijzen van Imperva Incapsula-oplossing

Bericht
Prijs (USD)
$ 2.00
1000 tokens
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.
python
// 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:

markup
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:

markup

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

Voorbeeld:

markup
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:

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

In de headers zouden regels moeten verschijnen zoals:

markup

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 <span class="font-bold">Privacybeleid</span> en de <span class="font-bold">Gebruiksvoorwaarden</span>. 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)

Veelgestelde vragen over Imperva Incapsula

De officiële JavaScript- en Python-SDK-bibliotheken vereenvoudigen de integratie in plaats van handmatig low-level API-polling af te handelen.

Hun algemene logica omvat de volgende stappen:

  1. Maak een ImpervaRequest met websiteURL en een metadata-object. Die metadata moet het volgende bevatten:
    • incapsulaScriptUrl — Naam van het Incapsula JS-bestand.
    • incapsulaCookies — De cookies van Incapsula. Deze kunnen op de pagina worden verkregen via document.cookie of in de request-header Set-Cookie: "incap_ses_=...; visid_incap_=..."
    • reese84UrlEndpoint (optioneel) — Naam van het endpoint waar de reese84-fingerprint naartoe wordt gestuurd; te vinden onder de requests en eindigt met ?d=site.com
  2. Gebruik voor de JavaScript/Node.js-client Solve() om te wachten op een kant-en-klare oplossing.
  3. De geretourneerde oplossing bevat geldige cookies.

Python volgt dezelfde algemene workflow.

  1. Maak een Imperva-account aan
  2. Open de Cloud Security Console
  3. Voeg uw site toe in de sectie Websites

Imperva levert vervolgens het DNS-doel dat u moet gebruiken, meestal als CNAME voor het subdomein dat u verbindt.

Zodra de DNS-verbinding is geverifieerd, activeert Imperva de CDN/WAF-laag en leidt het verkeer via zijn infrastructuur voordat requests naar uw origin worden doorgestuurd.

Om de configuratie te bevestigen, voert u een header-only request uit zoals curl -I https://dev.mysite.com.

Als het verkeer correct via Imperva loopt, bevat het voorbeeldantwoord 403 Forbidden en Set-Cookie-headers zoals visid_incap_* en incap_ses_*.

De meeste Imperva Incapsula-integratiefouten worden veroorzaakt door proxy-, cookie-, timing- of regelconfiguratieproblemen. Controleer deze eerst:

  • Error 16: De geolocatie van uw proxy komt niet overeen met de vereiste regio. Gebruik een proxy uit het juiste land of de juiste regio.
  • Ongeldig domein of regelconfiguratie: Controleer het doeldomein, WAF-regelbinding en integratie-instellingen.
  • Verificatie-timeout: Sommige challenge-parameters verlopen snel, verzamel daarom verse paginadata en dien deze direct in.
  • Verlopen Imperva-cookies: Vernieuw cookies voordat u de request opnieuw probeert.
  • Proxy- of browser-mismatch: Gebruik uw eigen proxy en stuur de actuele Windows-browser-userAgent voor de taak.
  • Herhaalde controles of mislukte verificatie: Controleer cookies, proxy-regio, regelgevoeligheid en timeout-instellingen voordat u aanneemt dat de payload onjuist is.

Dynamische parameters visid_incap_* en incap_ses_* zijn kortstondig. Het gebruik van verlopen cookies zorgt ervoor dat Imperva een herhaalde challenge uitgeeft of het request volledig blokkeert. De oplossing is om verse cookies van de pagina opnieuw te verzamelen en onmiddellijk een nieuwe taak naar CapMonster Cloud te sturen met de bijgewerkte incapsulaCookies in het metadata-object.

Imperva Incapsula wordt beschreven als een cloudgebaseerde beschermingslaag die veilige reverse proxies en een Web Application Firewall gebruikt, geïmplementeerd op CDN-infrastructuur.

In dat model wordt siteverkeer via Imperva-servers geleid, waar requests kunnen worden geïnspecteerd en kwaadaardige activiteit kan worden gefilterd voordat het verkeer de origin bereikt.

Om die architectuur effectief te maken, raden we ook aan directe toegang tot uw server te beperken en verkeer alleen van Imperva-IP-bereiken toe te staan waar passend.