본문으로 건너뛰기

로그인 전 봇 차단

사람 확인은 로그인 절차의 맨 앞에서 자동화된 요청이 인증 API로 바로 들어오는 것을 줄여 줍니다. 로그인 자격 증명, IP 허용 목록 또는 WAF를 대신하는 기능은 아닙니다.

시스템 설정 → Challenge에서 확인 방식을 선택하고 저장합니다. 이후 새로 여는 로그인 페이지부터 변경된 설정을 사용하며 기존 세션은 만료되지 않습니다.

선택 가능한 방식

방식특징적합한 환경
PoW브라우저에서 작업 증명을 한 번 수행하며 외부 서비스에 의존하지 않음외부 의존성을 줄이고 약간의 클라이언트 연산을 허용하려는 환경
Cloudflare TurnstileCloudflare에서 사람 확인 수행이미 Cloudflare를 사용하며 관리형 사람 확인을 이용하려는 환경

PoW는 기본으로 내장된 방식입니다. 브라우저가 SHA-256 챌린지를 받은 뒤 로컬에서 증명값을 계산합니다. 챌린지는 5분 동안 유효하고 성공할 때 한 번만 사용할 수 있습니다. 페이지에는 난이도 조절 항목이 없으며 현재 서버가 제공하는 최대 탐색 범위는 100000입니다.

Turnstile을 선택하기 전에 Cloudflare에서 위젯을 만들고 사이트 키와 비밀 키를 fn-knock에 입력합니다. 자세한 과정은 Cloudflare Turnstile을 참고합니다.

방식 전환 및 저장

시스템 설정 → Challenge에서 PoW 또는 Cloudflare Turnstile을 선택합니다. Turnstile을 선택할 때는 사이트 키와 비밀 키를 모두 입력합니다. 하나라도 빠지면 프런트엔드와 백엔드에서 저장을 거부합니다.

사이트 키는 공개 로그인 페이지로 전달되어 위젯을 렌더링하는 데 사용됩니다. 비밀 키는 서버에만 저장되고 Cloudflare에 토큰을 검증할 때 사용됩니다. PoW로 되돌려도 기존 Turnstile 값은 설정에 남아 있으므로 나중에 다시 선택하면 그대로 사용할 수 있습니다.

제공자를 변경해도 로그인된 세션은 만료되지 않고 이후 인증 절차에 들어오는 새 요청에만 적용됩니다. 이미 열려 있는 로그인 페이지에는 이전 챌린지가 남아 있을 수 있으므로 페이지를 새로 고친 뒤 테스트합니다.

확인 방식의 적용 범위

  • 사람 확인은 fn-knock 로그인 페이지를 거치는 트래픽만 보호합니다.
  • 사설망과 로컬 출발지는 기본적으로 로컬 예외가 적용되므로 LAN에서의 결과만으로 인터넷 환경의 작동 여부를 판단할 수 없습니다.
  • Turnstile을 사용하기 전에 브라우저에서 Cloudflare 확인 리소스에 접속 가능한지 확인합니다. 제한된 네트워크나 차단 규칙 때문에 위젯이 표시되지 않거나 확인에 실패할 수 있습니다.
  • 확인 방식을 바꾼 뒤에는 시크릿 창과 모바일 네트워크에서 전체 로그인 절차를 한 번 완료합니다.

문제 해결

  1. 설정이 저장되었는지 확인하고 로그인 페이지를 다시 엽니다.
  2. PoW가 만료되었거나 이미 사용되었다는 메시지가 나오면 페이지를 새로 고쳐 새 챌린지를 받습니다. 시스템 시간이 잘못되어도 유효 기간 판정에 문제가 생깁니다.
  3. Turnstile에서는 사이트 키, 비밀 키, 위젯의 호스트 이름이 실제 로그인 도메인과 일치하는지 확인합니다.
  4. 로그인 도메인의 DNS가 올바르게 설정되어 있고 HTTPS를 사용하는지 확인합니다.
  5. 브라우저 콘솔, 요청 로그 및 이벤트 센터에서 오류를 확인합니다.

QQ 커뮤니티: 1081609274