Turnstile 작업을 만들려면 websiteURL(인증 위젯이 나타나는 페이지 주소)과 websiteKey(사이트 키, 보통 0x로 시작)가 필요해요. 먼저 Cloudflare 챌린지 페이지가 아니라 Turnstile이 맞는지 확인하세요. 캡차 유형 판별하기를 참고하세요.
websiteKey
섹션 제목: “websiteKey”방법 1: 페이지 소스 검색. 개발자 도구(F12)의 Elements 패널에서 data-sitekey를 검색하세요.
<div class="cf-turnstile" data-sitekey="0x4AAAAAAAxxxxxxxxxxxxxx"></div>방법 2: 스크립트 검색. JavaScript로 렌더링한 위젯은 Sources 패널에서 마우스 오른쪽 버튼을 눌러 “Search in all files”를 선택하고 turnstile.render를 검색한 뒤, 옵션에 있는 sitekey를 확인하세요.
turnstile.render('#container', { sitekey: '0x4AAAAAAAxxxxxxxxxxxxxx', callback: onDone });방법 3: 네트워크 요청 확인. Network 패널에서 challenges.cloudflare.com을 검색하세요. 위젯 iframe 주소에 0x로 시작하는 사이트 키가 들어 있어요.
websiteURL
섹션 제목: “websiteURL”인증 위젯이 나타나는 페이지의 전체 주소를 입력하세요. 예: https://example.com/login
action과 cData (보통 필요 없어요)
섹션 제목: “action과 cData (보통 필요 없어요)”대부분의 경우 필요하지 않아요. websiteKey와 websiteURL이 모두 맞는데도 작업이 계속 실패할 때만 찾아보세요. turnstile.render의 옵션이나 위젯 요소에 action, cData가 있는지 확인하면 돼요(요소에서는 data-action, data-cdata).
turnstile.render('#container', { sitekey: '0x4AAAAAAAxxxxxxxxxxxxxx', action: 'login', cData: 'c0bd4b36-7419-4e18-83c6-378699f2a9a2' });값이 있으면 작업을 만들 때 action은 pageAction에, cData는 data에 넣으세요. Turnstile을 참고하세요.
토큰 제출
섹션 제목: “토큰 제출”작업이 완료되면 token을 폼의 cf-turnstile-response라는 이름의 숨김 필드에 넣고(turnstile.render에 callback을 설정했다면 그 콜백 함수를 호출하면서 토큰을 전달하세요) 폼을 제출하세요. 제출 요청의 User-Agent는 결과에 포함된 userAgent를 사용하세요.