Scarnox · Blog

Captcha GeeTest spiegato: come funziona e come risolverlo

GeeTest è un fornitore di captcha i cui widget chiedono al visitatore un compito visivo: trascinare un pezzo di puzzle in uno spazio vuoto, cliccare una serie di icone in un ordine preciso o seguire un breve movimento di cursore. È comune sui siti di e-commerce, nelle pagine di login e nei backend delle app in molte regioni. È anche una delle famiglie di captcha che Scarnox non risolve ancora. Questa guida spiega come funziona GeeTest, perché automatizzarlo è più difficile di un widget basato su token, quali approcci usa la gente in generale e a che punto è il supporto Scarnox oggi.

Cosa fa GeeTest su una pagina

Un captcha GeeTest di solito si carica in tre passaggi:

  1. La pagina include lo script di GeeTest e crea un widget con un ID captcha. In molte integrazioni quell'ID viene passato come parametro chiamato gt.
  2. Il widget chiede al server GeeTest una sfida nuova. La sfida include un valore challenge e le immagini o le posizioni delle tessere necessarie per il puzzle.
  3. Quando il visitatore completa il compito, il widget rimanda il risultato al sito. Il backend del sito verifica poi quel risultato presso il provider del captcha prima di accettare il form.

Il terzo passaggio conta. Un valore dall'aspetto plausibile non basta, perché il server verifica un risultato legato a una sola sfida e che scade. Per questo un valore copiato da una sessione diversa fallisce, e riprodurre un vecchio risultato non funziona.

Perché GeeTest è più difficile di un widget a token

Con PopularCaptcha, la pagina ha bisogno di una sola stringa token, e una sola richiesta restituisce quella stringa. GeeTest differisce in tre modi:

Per questo, la risoluzione di GeeTest è un lavoro a più passaggi: ottenere la sfida, individuare i bersagli nell'immagine, generare un movimento, inviarlo e leggere il verdetto. Ogni passaggio può fallire, e la sfida scade se aspetti troppo tra un passaggio e l'altro.

Approcci generali

Chi automatizza le pagine GeeTest di solito usa uno di tre approcci. Nessuno è una scorciatoia, e ciascuno ha dei costi:

Qualunque scelta fai, mantieni il perimetro onesto: automatizza flussi di tua proprietà, ambienti di test che sei autorizzato a usare o dati pubblici che sei autorizzato a raccogliere.

Trovare l'ID del captcha

Non ti serve codice per iniziare. Apri DevTools, ricarica la pagina e cerca geetest o gt nella scheda Network. La prima richiesta che carica il widget di solito mostra l'ID del captcha. Uno script piccolo può registrarlo, il che è utile quando vuoi accorgerti che una pagina cambia il suo 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")

Il pattern qui sopra cerca un valore esadecimale di 32 caratteri accanto a gt. I fornitori cambiano il loro markup, quindi trattalo come punto di partenza e verifica l'output sulla pagina che stai testando.

A che punto è il supporto Scarnox

Sii chiaro su questo quando pianifichi un progetto:

Se il tuo progetto ha bisogno di GeeTest adesso, la strada pratica è costruire tu i passaggi del browser e dell'immagine per le pagine che sei autorizzato a testare, e tenere il codice pronto a passare a un'API quando il supporto sarà disponibile. Nel frattempo puoi creare un account e iniziare con crediti di prova gratuiti, senza carta di credito. Così hai un flusso PopularCaptcha funzionante con cui testare e un punto dove inserire GeeTest in seguito. Per le tariffe attuali, consulta i prezzi attuali.

Usi legittimi

Non usare l'automazione dei captcha per creare account falsi, per attaccare un form di login o per acquistare scorte limitate. Questi usi violano le regole della maggior parte dei siti e non sono qualcosa che Scarnox supporta.

Prossimi passi