Aproape fiecare utilizator de Internet întâlnește în mod regulat CAPTCHA (în rusă abrevierea pentru acest lucru este substantivul "captcha"). În cazul clasic, CAPTCHA este o imagine care conține litere și numere distorsionate, pe care trebuie să le introduceți în câmpul de text alături de a confirma că sunteți o persoană, nu un robot care trimite mesaje spam. Există, de asemenea, forme mai exotice de captură, de exemplu, realizate sub forma unui test, puzzle-uri sau mini-jocuri. Și toate acestea din motive de protecție împotriva umplerii automate a formularelor prin trimiterea de roboți de spam.
Aspectul clasic al CAPTCHA este arătat în figură:
1. Protecția împotriva spamului în rețeaua socială "VKontakte". 2. reCAPTCHA.
CAPTCHA (testul Turing publice complet automatizat pentru a spune computerele și oamenii în afara) este un test Turing public complet automat pentru diferența dintre computere și oameni. Mai multe detalii pot fi găsite în Wikipedia.
Principiul CAPTCHA este foarte simplu. Utilizatorul are o sarcină (o imagine distorsionată, un text sau altceva) pe care creierul uman le decide foarte repede și cu mare probabilitate corectă. În același timp, soluționarea unei astfel de probleme cu ajutorul tehnologiei informatice este fie foarte laborioasă, fie dificil de algoritmizat, și, prin urmare, necesită cheltuieli uriașe pentru dezvoltarea unui program decisiv. După demonstrarea sarcinii și obținerea răspunsului - răspunsul este comparat cu originalul și dacă este corect, utilizatorul are permisiunea de a efectua acțiunea - trimite formularul cu datele introduse pentru procesare. Spam-urile, în acest stadiu, sunt de obicei eliminate.
În acest articol, vom vorbi despre crearea unei captuse cu propriile noastre mâini, iar Captcha nu va fi clasică sub forma unei imagini, ci textuală.
Principiul de funcționare al CAPTCHA va fi după cum urmează. Kapcha va forma două variabile în sesiunea curentă:
1. Întrebarea sub forma expresiei aritmetice a + b, unde 2
Fișierul index.php, care conține un exemplu de accesare și de utilizare a CAPTCHA în formularul de utilizator
În starea înainte de a primi hash MD5 - elimina lacunele nedorite la marginile răspunsului utilizator (funcția de ajustare ()) și să dea un răspuns la litere mici (mb_strtolower () funcția).
Complexitatea acestui exemplu poate fi îmbunătățită prin schimbarea liniei din fișierul mycaptcha.php: to
În acest caz, întrebarea a + b va fi de asemenea tipărită cu cuvinte, ceea ce face dificil pentru robot să o citească.
Pentru ca exemplul să funcționeze corect, aveți nevoie de:
1. Toate fișierele trebuie să fie scrise în codare UTF-8.
2. Scripturile trebuie să fie difuzate pe serverul web și să nu fie executate în browser ca fișier.