GeeTest captcha คืออะไร: วิธีทำงานและวิธีแก้
GeeTest เป็นผู้ให้บริการ captcha ที่ widget ของตนขอให้ผู้เข้าชมทำงานเชิงภาพ เช่น ลากชิ้นส่วนปริศนาเข้าช่องว่าง คลิกชุดไอคอนตามลำดับที่กำหนด หรือเลื่อนสไลด์สั้น ๆ มักพบบนเว็บอีคอมเมิร์ซ หน้าเข้าสู่ระบบ และแบ็กเอนด์ของแอปในหลายภูมิภาค นี่ยังเป็นหนึ่งในตระกูล captcha ที่ Scarnox ยังไม่รองรับ คู่มือนี้อธิบายว่า GeeTest ทำงานอย่างไร ทำไมการทำ automation จึงยากกว่า token widget ทั่วไป แนวทางทั่วไปที่ผู้คนใช้ และการรองรับของ Scarnox ในตอนนี้
GeeTest ทำอะไรบนหน้าเว็บ
GeeTest captcha มักโหลดในสามขั้นตอน
- หน้าเว็บรวม script ของ GeeTest และสร้าง widget ด้วย captcha ID ในการเชื่อมต่อหลายแบบ ID นี้ถูกส่งเป็นพารามิเตอร์ชื่อ
gt - widget ขอการท้าทายใหม่จากเซิร์ฟเวอร์ของ GeeTest การท้าทายประกอบด้วยค่า
challengeและรูปภาพหรือตำแหน่งของชิ้นส่วนที่จำเป็นสำหรับปริศนา - เมื่อผู้เข้าชมทำงานเสร็จ widget จะส่งผลลัพธ์กลับไปยังเว็บ จากนั้น backend ของเว็บตรวจสอบผลลัพธ์นั้นกับผู้ให้บริการ captcha ก่อนยอมรับฟอร์ม
ขั้นตอนที่สามสำคัญมาก ค่าที่ดูสมเหตุสมผลไม่เพียงพอ เพราะเซิร์ฟเวอร์ตรวจสอบผลลัพธ์ที่ผูกกับการท้าทายหนึ่งครั้งและหมดอายุ นั่นคือเหตุผลที่ค่าที่คัดลอกจาก session อื่นล้มเหลว และการนำผลลัพธ์เก่ากลับมาใช้ก็ไม่ได้ผล
ทำไม GeeTest ยากกว่า token widget
กับ PopularCaptcha หน้าต้องการสตริง token เพียงหนึ่งตัว และคำขอเดียวให้สตริงนั้นกลับมา GeeTest ต่างออกไปในสามด้าน
- ผลลัพธ์เป็นผลของงานหนึ่งงาน ไม่ใช่สตริงเดียว เว็บคาดหวังค่าหลายค่าที่เกี่ยวข้องกัน และทั้งหมดต้องมาจากการท้าทายเดียวกัน
- การท้าทายเป็นภาพและตำแหน่ง solver ต้องหาว่าชิ้นส่วนปริศนาควรไปอยู่ตรงไหนหรือไอคอนใดตรงกัน แล้วสร้างการเคลื่อนไหวที่ดูเหมือนของคน
- การตรวจสอบดูพฤติกรรมด้วย ไม่ใช่แค่คำตอบ สามารถตรวจสอบความเร็ว เส้นทาง และจังหวะเวลาได้ ตำแหน่งที่ถูกต้องที่ส่งมาด้วยวิธีแบบหุ่นยนต์ยังอาจถูกปฏิเสธได้
เพราะเหตุนี้ การแก้ GeeTest จึงเป็นงานหลายขั้นตอน: ดึงการท้าทาย หาตำแหน่งเป้าหมายในภาพ สร้างการเคลื่อนไหว ส่งและอ่านผลการตัดสิน แต่ละขั้นอาจล้มเหลว และการท้าทายหมดอายุหากคุณรอนานเกินไประหว่างขั้นตอน
แนวทางทั่วไป
ผู้คนที่ทำ automation กับหน้า GeeTest โดยทั่วไปใช้วิธีหนึ่งในสามแบบ ไม่มีวิธีใดเป็นทางลัด และแต่ละวิธีมีต้นทุน
- ขับเคลื่อนเบราว์เซอร์จริง Playwright หรือ Selenium โหลดหน้า และสคริปต์ของคุณเลื่อนสไลด์ วิธีนี้ใช้ได้ดีที่สุดกับเว็บที่คุณควบคุมหรือสภาพแวดล้อมทดสอบที่คุณได้รับอนุญาต เบราว์เซอร์เป็นของจริง แต่การเคลื่อนไหวยังต้องดูเป็นธรรมชาติ
- การจับคู่ภาพ โค้ดของคุณดาวน์โหลดพื้นหลังของปริศนา หาช่องว่างด้วย template matching (เช่นด้วย OpenCV) และคำนวณระยะการลาก ส่วนนี้มักเชื่อถือได้ที่สุดในการตั้งค่าด้วยตัวเอง และจะพังเมื่อผู้ให้บริการเปลี่ยน layout ของภาพ
- มนุษย์ในลูปหรือบริการแก้ คนหรือบริการที่จัดการให้แก้การท้าทายและส่งผลลัพธ์กลับมา Scarnox วางแผนจะเสนอตัวเลือกนี้สำหรับ GeeTest แต่ยังไม่พร้อมใช้งาน
ไม่ว่าจะเลือกวิธีใด ให้รักษาขอบเขตให้ซื่อตรง: ทำ automation กับโฟลว์ที่คุณเป็นเจ้าของ สภาพแวดล้อมทดสอบที่คุณได้รับอนุญาตให้ใช้ หรือข้อมูลสาธารณะที่คุณได้รับอนุญาตให้เก็บ
การหา captcha ID
คุณไม่จำเป็นต้องใช้โค้ดเพื่อเริ่ม เปิด DevTools รีโหลดหน้า แล้วค้นหาใน แท็บ Network ด้วย geetest หรือ gt คำขอแรกที่โหลด widget มักแสดง captcha ID สคริปต์เล็ก ๆ สามารถบันทึกค่านี้ไว้ได้ ซึ่งมีประโยชน์เมื่อคุณต้องการสังเกตว่าหน้าเปลี่ยน widget เมื่อใด
import re
import requests
html = requests.get("https://example.com/login", timeout=30).text
match = re.search(r"gt['\"]?\s*[:=]\s*['\"]([a-f0-9]{32})['\"]", html)
print("captcha id:", match.group(1) if match else "not found")
รูปแบบข้างต้นมองหาค่าเลขฐานสิบหก 32 ตัวอักษรที่อยู่ถัดจาก gt ผู้ให้บริการเปลี่ยน markup ของตนบ่อย ดังนั้นให้ถือเป็นจุดเริ่มต้น และตรวจผลลัพธ์กับหน้าที่คุณกำลังทดสอบ
สถานะการรองรับของ Scarnox
ให้ชัดเจนเมื่อคุณวางแผนโปรเจกต์
- ใช้งานได้แล้ววันนี้: PopularCaptcha แบบ proxyless และแบบใช้ proxy ของคุณเอง
- เร็ว ๆ นี้: GeeTest, reCAPTCHA v2 และ v3, Cloudflare Turnstile, AWS WAF และ Arkose อย่าสร้างโฟลว์ระดับโปรดักชันที่ต้องพึ่งการแก้ GeeTest จนกว่าจะระบุว่าใช้งานได้แล้ว
หากโปรเจกต์ของคุณต้องการ GeeTest ตอนนี้ เส้นทางที่ใช้งานได้จริงคือสร้างขั้นตอนเบราว์เซอร์และภาพด้วยตัวคุณเองสำหรับหน้าที่คุณได้รับอนุญาตให้ทดสอบ และเตรียมโค้ดให้พร้อมสลับไปใช้ API เมื่อการรองรับเปิดใช้งาน ระหว่างนี้คุณสามารถสร้างบัญชี และเริ่มด้วยเครดิตทดลองใช้ฟรี ไม่ต้องใช้บัตร ซึ่งให้โฟลว์ PopularCaptcha ที่ใช้งานได้ให้คุณทดสอบ และเป็นที่สำหรับเสียบ GeeTest ในอนาคต สำหรับอัตราปัจจุบัน ดูราคาปัจจุบัน
การใช้งานที่ถูกต้องตามกฎหมาย
- ทดสอบโฟลว์เข้าสู่ระบบหรือชำระเงินของคุณเอง ในกรณีที่ captcha บล็อกการทดสอบ regression อัตโนมัติ
- การตรวจสอบการเข้าถึงที่ยืนยันว่าผู้เข้าชมที่แก้ปริศนาเชิงภาพไม่ได้ ยังมีเส้นทางอื่นในการทำฟอร์มให้เสร็จ
- การติดตามเว็บที่คุณได้รับอนุญาตให้เฝ้าดู เช่น ตรวจว่า widget ยังโหลดหลังการ deploy
อย่าใช้ captcha automation เพื่อสร้างบัญชีปลอม โจมตีฟอร์มเข้าสู่ระบบ หรือแย่งสินค้าจำนวนจำกัด การใช้งานเหล่านั้นละเมิดกฎของเว็บส่วนใหญ่ และ Scarnox ไม่รองรับ