Mecanism Proof of Work
Documentația descrie SCaptcha 2.3.0. Funcțiile dependente de configurare sunt marcate separat.
Verificarea principală
Fiecare provocare folosește un salt independent, aleator criptografic, de 32 de octeți. Instalarea WoltLab validează saltul, hash-ul, algoritmul, soluția și HMAC-ul în sesiunea emitentă. Provocarea expiră după 60 de secunde și nu necesită un furnizor CAPTCHA extern.
Generarea provocării
Serverul generează un salt independent, aleator criptografic, de 32 de octeți pentru fiecare provocare nouă. Nu este reutilizat un salt fix al aplicației.
Semnătura serverului
Se creează o semnătură HMAC cu secretul sesiunii pentru ca clientul să nu poată modifica provocarea.
Sarcina clientului
Clientul calculează iterativ soluții combinând numere cu salt-ul furnizat până când se potrivește provocării, apoi trimite un payload JSON base64 cu algorithm, challenge, number, salt, signature și took.
Verificarea soluției
Cu salt-ul și numărul primite, serverul recalculează provocarea, validează semnătura HMAC și impune o fereastră de expirare de 60 de secunde.
Ajustarea complexității
Complexitatea se ajustează prin modificarea valorilor minime și maxime ale numărului secret generat aleator. Valorile mai mici se rezolvă mai repede; valorile mai mari cresc costul automatizării.