Captcha alternativă

În loc de captcha de la bots, există alte caracteristici de securitate, de exemplu "câmpuri ascunse" - câmpuri care nu sunt afișate utilizatorului și trebuie să fie goale. Robotul le poate umple, iar formularul nu va trece testul.






Această protecție este ocolită - este necesar să configurați robotul o dată pentru a umple câmpurile necesare și asta e tot.

Am venit cu un nou mod de a proteja, pe baza faptului că roboții nu pot executa un javascript.
Esența este după cum urmează:
unul dintre câmpuri devine ascuns și niște gunoaie sunt scrise în el. Pagina este plasată zhavaskript, care înlocuiește acest gunoi într-un anumit moment - puteți prin timeout.

Prin urmare, prin valoarea acestui câmp, puteți determina dacă robotul umple pagina.

Cum puteți eluda metoda de protecție propusă? Și care sunt dezavantajele lui?

Actualizare: Ca urmare a discuțiilor pline de viață, următoarele aspecte ale abordării devin limitate:
1. Dacă un utilizator are un javascript dezactivat, atunci totul este rău (propun utilizatorului să emită captcha)
2. Botul care ocolește această protecție trebuie să fie încorporat în browser și să emuleze acțiunile utilizatorului - inclusiv întârzierea înainte de trimitere

Update2:
O altă idee care poate face viața dificilă pentru roboți este generația dinamică a numelor de câmpuri. Cum poți ajunge în jurul ei?

Credeți că înființarea unui robot care să înlocuiască gunoi este mult mai dificil decât să nu zapoliați câmpurile ascunse?

Pentru a face acest lucru, va trebui să execute un script de jab.
Puteți face un astfel de script care va genera o cheie pentru verificarea dinamic + în execuția scriptului puteți introduce o întârziere de secunde 5.

Un bot care efectuează un jabaskript este un bot complet netrivial.

subiectul unei alternative la Captcha este atât de vechi încât este deja plictisitor să participe la ea. toate opțiunile sunt deja inventate, testate și aruncate. captcha în cazul general este o opțiune ideală, deoarece utilizatorul este obișnuit cu acesta, dă un nivel relativ scăzut de eșecuri și un nivel suficient de ridicat de protecție.

trebuie să înțelegeți că, de la un bot care vizează în mod specific site-ul dvs., astfel (și nici altul, în general) nu este 100% protejat. orice CAPTCHA poate fi spart cu participarea unei persoane, iar un CAPTCHA rău poate fi străpuns pur și simplu pe mașină. orice JavaScript, ca orice alt algoritm neschimbat, poate fi ușor parsat de către atacator și emulat. pentru un utilizator normal, javascript poate fi dezactivat.







>> ca orice alt algoritm care variază de timp

Ca urmare, pentru ca botul să funcționeze, trebuie să deschideți browserul, să emulați toate presele și chiar să faceți o întârziere înainte de trimitere.

>> este necesar să înțelegeți că de la un bot care vizează în mod specific site-ul dvs., sunteți astfel (și nu altul, în general) 100% protejați

Cu asta sunt de acord. Dar puteți face ca dezvoltarea unui astfel de bot să fie prea scumpă.

>> Captcha în cazul general - o varianta ideala
Kapcha întotdeauna tulpina. Ei bine, măcar personal - toate formele de captură nu pot fi protejate - utilizatorul va fugi pur și simplu de pe site.

Algoritmul de modificare a câmpului se poate schimba în mod constant datorită generării dinamice.

Iată un exemplu: Noi reprezentăm algoritmul sub forma unui flux de control + un grafic de dependență în funcție de date. În aceste două constrângeri, puteți combina comenzi, nume de variabile și așa mai departe. În acest caz, unele variabile de control sunt adăugate la acest cod, din care se calculează cheia rezultantă.
Pentru a obține corect toate valorile corecte, trebuie să scrieți interpretul aproape complet.

Dacă adăugați câteva funcții suplimentare acestui cod, legate de calculul timpului sau ceva de genul acesta. (Până la Ajax, care va trage altceva) - va exista o singură variantă vagă de hacking - executați js în browser

Deci, va funcționa în browser. Aceasta nu este o problemă atât de mare, dacă este necesar.

Care este diferența, sub forma reprezentării algoritmului și a interferenței? Dacă algoritmul este implementat și este în fața ochilor dvs. - nu reprezintă o problemă de copiat în nici o limbă. Variabilele de control sunt extrase prin analiza netedă fără probleme. "Timpul și ceva de genul acesta" poate fi calculat și în orice limbă - serverul calculează cumva același lucru pentru verificare. Descărcarea unui cod JS pseudo-aleator de către ajax este mai aproape de subiect; dar, de fapt, este aceeasi captcha, nu doar pentru persoana, ci pentru interpretul JS. Și pentru a învinge nu este deloc mai dificilă decât capturarea unei cele obișnuite, ci dimpotrivă.

>> Dacă algoritmul este implementat și este în fața ochilor tăi - nu reprezintă o problemă de copiat în nici o limbă. Variabilele de control sunt extrase prin analiza netedă fără probleme.

Esența a ceea ce am adus în asta. că variabilele de control sunt amestecate împreună cu gunoi, urmând într-o succesiune arbitrară și au nume arbitrare.

Este imposibil să se disperseze.

>> aceasta este aceeasi captcha, nu numai pentru persoana, ci pentru interpretul JS.
Acesta este scopul - lăsați botul să lupte cu protecție, și nu pe utilizatorul site-ului

Folosește bot-scriitorul JS, matyugnuvshis, apoi ce? Hacking-ul va fi mult mai rapid decât captcha prin intermediul serviciului. Kapcha hacks în jur de 30 de secunde. în medie, acest lucru se va sparge într-o secundă secundă. Odată ce va fi scrisă o bibliotecă, care va fi vândută tuturor spamerilor - asta-i tot.







Articole similare

Trimiteți-le prietenilor: