reCAPTCHA v3 점수 설명: 챌린지 없이 사이트가 방문자를 판단하는 방법
reCAPTCHA v3은 챌린지를 보여 주지 않습니다. 페이지에서 백그라운드로 실행되며 방문자를 관찰하고, 0.0에서 1.0 사이의 점수를 돌려줍니다. 숫자가 높을수록 방문자가 사람일 가능성이 높다는 뜻입니다. 점수로 무엇을 할지는 사이트의 백엔드가 결정합니다. 가입 폼은 0.7에서는 통과시키고 0.3에서는 차단할 수 있습니다. Scarnox의 reCAPTCHA v3 지원은 출시 예정입니다. 이 가이드는 점수가 어떻게 만들어지는지, 그리고 자동화 작업이 봇으로 점수 매겨지지 않도록 하는 정당한 방법을 설명합니다.
점수가 만들어지는 방식
페이지는 reCAPTCHA 스크립트를 로드하고, login이나 signup 같은 액션에 대해 스크립트를 호출합니다. 스크립트는 브라우저에서 신호를 모아 Google에 보내고, Google은 토큰을 돌려줍니다. 그러면 사이트의 서버가 비밀 키와 함께 그 토큰을 Google의 검증 엔드포인트로 보내고, 점수와 액션 이름을 받습니다.
점수는 여러 종류의 신호로 만들어진 위험 추정치입니다.
- 표준 데스크톱 브라우저처럼 보이는지 여부를 포함한 브라우저 환경.
- 마우스 움직임, 스크롤, 타이밍 같은 페이지 위의 행동.
- 성공한 이전 세션처럼, 그 사이트에 대한 방문자의 기록.
- 한 주소에서 요청이 얼마나 자주, 얼마나 빨리 들어오는지를 포함한 요청 패턴.
정확한 가중치는 공개되어 있지 않으며, 시간이 지나며 바뀝니다. 공개된 것은 계약입니다. 사이트가 임계값을 고르고, 점수가 결과를 결정합니다.
자동화가 낮은 점수를 받는 이유
자동화된 트래픽은 예측 가능한 이유로 낮은 점수를 받는 경향이 있습니다. 기본 설정의 헤드리스 브라우저에는 이상한 신호가 있습니다. 새 세션에는 기록이 없습니다. 빠르고 규칙적인 요청 패턴은 사람이 둘러보는 모습과 다릅니다. 데이터센터 주소는 가정용 연결보다 더 의심받습니다. 각각은 하나의 신호이며, 여러 신호가 함께 작용하면 점수를 임계값 아래로 떨어뜨릴 수 있습니다.
보이는 챌린지가 없으므로, 낮은 점수는 종종 조용한 실패로 나타납니다. 페이지는 로드되지만 폼은 거부되고, 아무것도 그 이유를 알려 주지 않습니다. 서버 측에서 오류를 볼 수 있도록 로깅을 구성하세요.
점수를 건강하게 유지하는 정당한 방법
다음 방법은 본인의 작업과 정당한 데이터 수집을 위한 것입니다.
- 실제 브라우저 프로필을 사용하세요. 일반적인 설정과 확장 프로그램이 있는 평범한 브라우저는, 기능을 덜어낸 헤드리스 빌드보다 봇으로 점수 매겨질 가능성이 낮습니다. 브라우저 핑거프린팅 가이드가 브라우저 환경이 어떻게 읽히는지 설명합니다.
- 세션을 따뜻하게 유지하세요. 요청 사이에 쿠키를 유지하고, 모든 페이지를 빈 상태에서 시작하지 마세요.
- 요청 속도를 조절하세요. 사람은 1초에 백 페이지를 불러오지 않습니다. 지연을 넣고, 합리적인 범위에서 무작위로 바꾸세요.
- 명백한 단서를 피하세요. 기본 user agent, 누락된 언어 설정, 일관되지 않은 화면 크기는 고치기 쉬운 신호입니다.
- 자신의 임계값으로 테스트하세요. 사이트를 직접 운영한다면, 스테이징에서 점수를 읽고 어떤 신호가 점수를 낮추는지 확인하세요. Google의 테스트 키는 실제 점수 없이 연동을 테스트하는 데 유용합니다.
이 단계들은 실제 작업에서 오탐을 줄여 줍니다. 남용을 위해 사람의 점수를 위조하는 방법은 아니며, 여기 나온 어떤 접근법도 임계값을 정하는 것이 사이트 소유자라는 사실을 바꾸지 않습니다.
점수가 하지 않는 일
점수는 방문자가 사람임을 증명하지 않으며, 방문자의 점수가 낮은 이유를 알려 주지도 않습니다. 낮은 점수는 드물지만 정상적인 브라우저, 공유 네트워크, 또는 VPN에서 나올 수 있습니다. 점수는 하나의 입력으로 다루세요. 정당한 작업의 점수가 계속 낮다면, 정직한 답은 종종 사이트 소유자에게 허용 목록이나 API를 요청하는 것입니다.
Scarnox의 현재 상황
Scarnox는 오늘날 reCAPTCHA v3을 실시간으로 풀지 않습니다. 현재 실시간으로 사용할 수 있는 작업 유형은 프록시리스 PopularCaptcha뿐입니다. reCAPTCHA v3은 출시 예정입니다. 점수 기반 솔버는 사이트가 받아들이는 토큰을 돌려줘야 하며, 이는 보이는 퍼즐을 푸는 것과는 다른 문제이므로, 지원이 출시되면 연동 세부 사항을 API 레퍼런스에 문서화할 예정입니다.
계정을 만들어 무료 체험 크레딧으로 카드 없이 시작하면, 해당 유형이 실시간으로 제공될 때 바로 준비된 상태가 됩니다.
내 로그에서 점수 읽기
보이는 챌린지가 없으므로, 점수 기반 실패를 이해하는 유일한 방법은 로그에 남기는 것입니다. 본인 사이트에서는 검증 호출로 백엔드가 받은 점수, 액션 이름, 성공 여부를 요청의 타임스탬프 및 요청이 들어온 경로와 함께 기록하세요. 일주일 정도의 트래픽을 보면, 어떤 페이지나 흐름의 점수가 낮은지 보통 패턴이 드러납니다. 항상 낮은 흐름은 봇 문제가 아니라, 페이지 로드 직후 가입 단계가 너무 빨리 일어나는 것처럼 정상 사용자에게 실제 문제일 수 있습니다.
같은 액션의 점수를 서로 다른 브라우저와 네트워크에서도 비교해 보세요. 가정용 연결의 일반 방문자는 점수가 좋은데 같은 방문자가 회사 VPN에서는 점수가 나쁘다면, 점수는 브라우저가 아니라 네트워크에 반응하는 것이며, 해결책은 자동화를 바꾸는 것이 아니라 접근 권한에 대해 이야기하는 것입니다.
로그에는 개인 데이터를 남기지 마세요. 점수와 액션 이름이면 대부분의 문제를 진단하기에 충분하며, 필요 이상으로 저장하면 원치 않는 개인정보 보호 의무가 생깁니다.
책임 있게 스크래핑하기
스크래핑 작업 전에 robots.txt와 사이트 이용 약관을 확인하세요. 요청 빈도를 낮게 유지하고, 필요하지 않은 개인 데이터 수집은 피하세요. 점수 기반 검사는 사이트가 스스로를 보호하기 위해 선택한 방식이라는 점을 기억하세요. 대규모로 그것을 우회한다면, 작업을 다시 검토하거나 소유자와 합의해야 한다는 신호입니다. 더 넓은 맥락은 웹 스크래핑은 합법인가 가이드에서 다룹니다.