안티봇 대응
현대적인 웹사이트는 고급 봇 탐지 기술을 사용합니다. 이 가이드는 FourA가 안티봇 시스템을 처리하는 방법과 성공률을 극대화하는 방법을 설명합니다.
봇 탐지 작동 방식
웹사이트는 여러 계층의 보호 조치를 사용합니다:
- IP 평판: 데이터 센터 및 알려진 proxy IP가 차단됩니다
- 네트워크 핑거프린팅: 각 HTTP 클라이언트는 사이트가 탐지할 수 있는 고유한 handshake 서명을 가집니다
- 브라우저 핑거프린팅: JavaScript가 headless 브라우저 감지 지표를 확인합니다
- 행동 분석: request 패턴, 타이밍, 탐색 흐름
- CAPTCHA: 최후의 방어선 역할을 하는 시각적 챌린지
일반적인 안티봇 제공업체로는 Cloudflare, DataDome, PerimeterX, Akamai Bot Manager 등이 있습니다.
FourA의 지원 방식
실제 와이어 레벨 요청
단일 endpoint (POST /api/single/)는 실제 브라우저와 일치하는 handshake 특성을 생성합니다. 이를 통해 전체 브라우저를 실행하는 오버헤드 없이 가장 일반적인 와이어 레벨 검사를 통과합니다.
unblocker를 활성화하면 실제 브라우저와 유사한 브라우저 header(User-Agent, Sec-Ch-Ua, Sec-Fetch-*, Accept-Encoding)도 함께 주입됩니다:
{
"method": "GET",
"url": "https://protected-site.com/data",
"unblocker": true
}
실제 브라우저 렌더링
브라우저 endpoint (POST /api/browser/)는 전체 Chrome 브라우저 인스턴스를 실행합니다. 안티 디텍션 패치와 결합되어 대부분의 JavaScript 기반 핑거프린트 검사를 통과합니다.
Proxy 순환
proxy endpoint (POST /api/proxy/)는 주거용 및 데이터 센터 proxy를 자동으로 순환합니다. 하나의 IP가 차단되면 다음 시도에서는 다른 IP를 사용합니다.
보호 수준별 전략
낮은 보호 수준 (대부분의 사이트)
unblocker와 함께 단일 endpoint를 사용하세요. 와이어 레벨 일치만으로도 충분합니다.
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://news-site.com/article", "unblocker": true}'
중간 보호 수준 (Cloudflare, 기본 WAF)
브라우저 endpoint를 사용하여 JavaScript 챌린지를 통과하세요:
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://protected-site.com/data", "timeout_ms": 15000}'
높은 보호 수준 (DataDome, PerimeterX)
여러 번의 재시도 횟수와 함께 proxy endpoint를 사용하세요:
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 10,
"request": {
"method": "GET",
"url": "https://heavily-protected.com/prices",
"unblocker": true
}
}'
챌린지가 해결된 후 렌더링된 페이지가 필요한 티어 1 WAF 체인(Vercel Security Checkpoint, Cloudflare "Just a moment", Akamai Bot Manager)의 경우, 체이닝된 proxy → 브라우저 패턴에 대한 WAF 챌린지 레시피를 참조하세요.
모범 사례
단순하게 시작하고 점진적으로 확장하세요. 먼저 단일 endpoint를 시도해 보세요. 필요한 경우에만 브라우저 또는 proxy로 전환하세요.
속도 제한(rate limit)을 준수하세요. proxy 순환을 사용하더라도 단일 사이트에 초당 수백 개의 request를 보내면 행동 분석 탐지가 트리거됩니다. request 간격을 최소 1~2초 이상 유지하세요.
unblocker를 사용하세요. 단일 및 proxy request의 경우, User-Agent 문자열을 수동으로 설정하는 대신unblocker를 활성화하여 실제 브라우저 header를 자동으로 주입하세요.성공률을 모니터링하세요. Dashboard 메트릭을 확인하여 시간 경과에 따른 성공률을 추적하세요. 갑작스러운 하락은 대개 대상 사이트가 보호 조치를 업데이트했음을 의미합니다.
까다로운 대상에 대해서는
maxTries를 늘리세요. proxy endpoint는 기본적으로 5회 시도하지만, 강력하게 보호되는 사이트의 경우 최대 90회까지 설정할 수 있습니다.
FourA가 우회할 수 없는 항목
일부 시나리오에서는 API 외부에서 추가적인 처리가 필요합니다:
- 로그인으로 보호된 콘텐츠: FourA는 여러 request에 걸쳐 세션이나 cookie를 관리하지 않습니다 (브라우저 endpoint는 request당 cookie 설정을 지원합니다)
- 대화형 CAPTCHA: reCAPTCHA v3 및 hCaptcha는 별도의 해결 서비스가 필요합니다
- 국가 / ASN 허용 목록: 특정 국가 라이선스가 있는 사이트(온라인 북메이커, 일부 정부 서비스 등)는 소수의 ISP 트래픽만 허용합니다. proxy 순환은 도움이 되지 않으며, 다른 데이터 소스가 필요합니다.
- 법적 제한이 있는 사이트: 데이터 수집이 항상 대상 사이트의 서비스 약관 및 관련 법률을 준수하는지 확인하세요
다음 단계
- 올바른 endpoint 선택하기: endpoint 결정을 위한 가이드
- 공통 문제: 403 오류 및 CAPTCHA 차단 해결
- API Endpoints: 전체 매개변수 참조
- MCP 레시피: WAF 챌린지 체인을 포함한 워크플로 템플릿