В этой статье мы постарались дать ответы на все вопросы. А начать решение задачи нужно с определения того, какая система защиты используется. Для этого можно обратиться к списку популярных капч и систем антибот-защиты, где представлены визуальные примеры и ключевые признаки, которые могут помочь быстро определить, с чем вы имеете дело.
Если вы обнаружили, что на вашем сайте используется Imperva Incapsula, следующим шагом станет более подробное изучение её свойств и самой работы. Также в этой статье вы можете изучить инструкцию по подключению системы Imperva Incapsula, чтобы полностью разобраться, как она функционирует на вашем сайте. Это позволит не только понимать текущую защиту, но и грамотно планировать её поддержку.
При тестировании страниц, защищённых Imperva Incapsula, нередко требуется убедиться, что защита работает корректно и что система правильно фильтрует подозрительный трафик.
Вы можете вручную проверить работу защиты на своём сайте:
Для автоматизации таких проверок можно использовать сервисы вроде CapMonster Cloud.
CapMonster принимает параметры челленджа Imperva (например, cookie _incap_, данные с HTML и скриптов), обрабатывает их у себя и возвращает готовые валидные cookies, которые можно подставить в браузер или HTTP‑клиент.
Работа с CapMonster Cloud через API обычно включает следующие шаги:
В запросе для решения Incapsula необходимо указать следующие параметры:
type - CustomTask;
class - Imperva;
websiteURL - адрес основной страницы, на которой находится инкапсула;
incapsulaScriptUrl (внутри metadata) - "incapsulaScriptUrl": "_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3" — название js файла инкапсулы;
incapsulaCookies (внутри metadata) - ваши куки от Incapsula. Можно получить на странице с помощью document.cookie или в заголовке запроса Set-Cookie: "incap_sess_*=...; visid_incap_*=..." (см. пример запроса /createTask);
reese84UrlEndpoint (внутри metadata) - название эндпоинта, куда отправляется reese84 fingerprint;
userAgent - User-Agent браузера. Передавайте только актуальный UA от ОС Windows;
Также для этой задачи необходимо использование ваших прокси:
proxyType :
proxyAddress - IP адрес прокси IPv4/IPv6;
proxyPort - порт прокси;
proxyLogin - логин прокси-сервера;
proxyPassword - пароль прокси-сервера.
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/142.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"
}
}
}
}
}Полученные от CapMonster Cloud данные (валидные cookies Incapsula) можно подставить в браузерный контекст или HTTP‑клиент. После этого сайт распознаёт запрос как прошедший проверку и пропускает пользователя без дополнительных челенджей.
Для автоматизации и тестирования удобно использовать Puppeteer, Selenium или Playwright — они позволяют:
Так можно проверить корректность работы защиты и убедиться, что сайт правильно обрабатывает валидные сессии Incapsula.
// 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) Настройки
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) Открываем сайт и собираем 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 с текущей страницы:", impervaCookiesString);
await browser.close();
// 3) Решаем 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("Решение:", result);
// 4) Подставляем полученные cookies
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 и открытие страницы
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" });
// Вывод статуса конечной страницы (опционально)
// console.log("Статус конечной страницы после установки cookies:", resp2?.status());
// …или итоговый скриншот
// await page2.screenshot({ path: "final_page.png" });
console.log("Страница загружена с применёнными Imperva cookies.");
}
main().catch(console.error);
1. Создайте аккаунт (при регистрации используйте ваш рабочий email) и перейдите в Imperva Cloud Security Console.
2. Подтвердите email. После входа вы попадёте в панель управления (подробнее о работе с Security Console вы можете узнать в документации).
3. Откройте раздел Websites и введите реальный домен вашего сайта.

Imperva автоматически:
4. Настройте DNS записи. Если Imperva покажет шаг:
Point dev.mysite.com DNS records to ImpervaСделайте следующее:
Тип: CNAME
Имя: dev (поддомен, который вы подключаете)
Значение: <ваш_имперва_хост>.ng.impervadns.net
Пример:
dev.mysite.com > CNAME > xivaxeo.ng.impervadns.netОпционально: включите поддержку Non-SNI клиентов
Если Imperva показывает уведомление:
If you expect Non-SNI traffic…
Это касается устаревших клиентов и специфических интеграций.Если ваш сайт обычный, этот шаг можно пропустить.
Если нужно, включите:
CDN > Delivery > Support Non-SNI clients
5. Дождитесь верификации DNS. Imperva активирует защиту и SSL.
Когда DNS подключится, Imperva автоматически:
6. Ограничьте прямой доступ к вашему серверу (рекомендуется)
Чтобы трафик шел только через Imperva, на вашем сервере стоит:
Более подробно можете ознакомиться в разделе Create Rules.
7. Проверьте работу сайта. После активации
curl -I https://dev.mysite.comВ заголовках должны появиться строки вида:
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
Это означает, что трафик проходит через Imperva.
Если вам достался сайт с уже установленной капчей или другой системой защиты и при этом нет доступа к коду — ничего страшного! Определить, какая именно технология используется, достаточно легко. А для проверки корректности работы можно использовать сервис распознавания CapMonster Cloud в изолированной тестовой среде, чтобы убедиться, что механизм обработки токенов и логика проверки функционируют корректно.
В случае с Imperva Incapsula — достаточно распознать систему, изучить её поведение и убедиться, что защита функционирует корректно. В статье мы показали, как определить Imperva Incapsula и где найти инструкции по её подключению или перенастройке, чтобы уверенно поддерживать защиту и контролировать её работу.