본문으로 건너뛰기

봇 차단 정책

봇은 3가지로 분류해 차등 적용합니다. 실제 차단 집행은 엣지(Cloudflare) 가 담당하고, robots.txt 와 애플리케이션 미들웨어는 표명/백스톱 입니다(User-Agent 는 위조될 수 있습니다).

분류예시정책엣지 집행앱 백스톱
포털 검색봇Googlebot, Bingbot, NaverBot(Yeti), Daum허용Verified Bots allowlist허용
AI 학습 크롤러GPTBot, ClaudeBot, CCBot, Google-Extended, PerplexityBot 등차단(기본)"Block AI bots"미들웨어 403 + robots.txt
미확인/악성 크롤러위장 UA, 비정상 빈도차단/챌린지Bot Fight Mode + WAF라우트 throttle

AI 크롤러를 기본 차단하는 이유: 자체 저작 콘텐츠(노트·번역·정의 등)를 무단 AI 학습으로부터 보호하기 위함입니다. 검색 노출이 더 중요한 사이트는 비활성으로 둘 수 있습니다.

1) 엣지(Cloudflare) 설정 — 권장 1차선

CDN 뒤에 사이트를 두고(권장) 대시보드에서 설정합니다.

  1. Security → Bots
    • Bot Fight Mode (또는 Super Bot Fight Mode) 활성화
    • Block AI bots / Block AI Scrapers and Crawlers 활성화
    • Verified Bots 는 허용 유지(포털 검색봇)
  2. Security → WAF → Rate limiting rules
    • 동일 IP 의 과도한 요청(예: / 분당 N회 초과)에 challenge/block
  3. (선택) Custom rules — 특정 ASN/UA 차단

2) robots.txt — 정책 표명(자율 준수)

배포본 public/robots.txt 에 AI 크롤러를 Disallow 로 명시합니다(포털봇은 기본 허용). 준수는 자율이므로 단독으로는 차단력이 없으며, 위 엣지 설정과 함께 사용합니다.

3) 애플리케이션 백스톱 — 옵트인

robots.txt 를 무시하는 정직한 AI 봇 UA 를 애플리케이션에서 403 으로 차단하는 백스톱입니다. 기본 비활성 이며, 활성화해도 포털 검색봇은 허용됩니다.

# .env
CORE_BOT_POLICY_ENABLED=true # 봇 정책 백스톱 활성화
CORE_BOT_BLOCK_AI=true # AI 크롤러 UA 차단(기본 true)

차단/허용 대상 UA 목록은 설정에서 조정할 수 있습니다(core.security.bot_policy.ai_bot_user_agents, allow_verified_bots).

한계: User-Agent 는 위조가 쉽습니다. 앱 백스톱은 보조 수단이며, 신뢰할 수 있는 차단은 엣지에서 이뤄집니다.