2. În butonul care este trimis, adăugăm
De exemplu, dacă codul de buton a fost:
apoi îl transformăm într-o
3. În script-ul php care verifică datele din formular, procedați astfel:
dacă # 40; $ _POST # 91; „Verificați“ # 93; ! = 'secretcode' # 41; ieșire # 40; "Spamul a înșelat" # 41; ;
Esența este simplă - când un utilizator face clic pe butonul "Trimite", javascript-ul scrie o valoare secretă variabilei goale. Și de la o persoană vii, o variabilă vine cu această valoare, iar de la un bot vine goală, pentru că nu execută JS. Asta e totul. În forumul vbulletin, unde am pus o astfel de protecție, nu există spam timp de 2 ani. Pe un singur site descris de noi, am fost spamat de o jumătate de an fără spam, deși nu este disponibilă nici o captură, ci doar această protecție. Acum, un singur site de pe joomla pune o astfel de protecție, pentru că spamerii răi au fost ispitiți să-mi trimită 20 de scrisori pe oră printr-un formular de feedback.
După cum înțelegeți, aceasta este doar o schemă generală. Numele căsuței de selectare și valoarea variabilei de verificare a secretcode pot și ar trebui să fie modificate la oricare alta, la discreția sa. În php-handler, ar putea fi necesar să nu lucrați cu matricea $ _POST, ci cu alta. În Jumble, am găsit această variabilă după cum urmează:
$ check = JRequest. getVar # 40; „Verifică“. ''. 'Post' # 41; ;
Am făcut funcția descrisă în locul meu în loc de zadolbavshey toate captcha, să vedem cum merge
Kirill Mazur, de asemenea, o soluție bună. Dar esența nu este deloc diferită. Am o valoare de verificare constantă și aveți acest număr de secunde pe pagină.
shagimuratov, asta e Akismet Am și e pe această tabloză. Sunt destul de mulțumit, spam nu trece, acum este scris în statisticile pe care el a protejat de la 67 de mii de mesaje spam, un rezultat bun
Opriți JS și toate navigate. Rahat, nu o soluție!
Am scris:
>>> Există un procent mizerabil de utilizatori cu JS cu handicap, dar îi neglijez.
Acum am arătat statistici ale site-ului în care folosesc această metodă, utilizatorii care nu aveau deja 0.35%. Și în general nu-mi pasă de ei. Sunt mai important decât 99,65% dintre utilizatorii care vor fi scutiți de necesitatea de a introduce captcha.
Desigur, dacă aveți o sarcină pentru a vă mulțumi tuturor 100% dintre utilizatori - atunci această soluție nu este potrivită. Dar nu uitați că dacă utilizați o altă captură, 100% dintre oameni nu vor putea satisface nici una. Indiferent de captcha pe care nu l-ai pus - încă un procent din oameni, cu atât mai mare 0 nu va putea să o introducă.
Marina Duck a pus protecția de mai sus pe site-ul dvs.
Și recent am venit cu o metodă similară de protecție, dar puțin mai dezrădăcinată. Esența este același, dar JS handler ar trebui să intre în câmpul ascuns nu este constantă, iar cantitatea de generat aleator (pe server) numere. Și răspunsul este comparat cu răspunsul la sesiunea introdusă (matrice $ _SESSION). Astfel, chiar și în cazul în bot pentru a preda sau de a efectua JS parsing o formă fixă, Cookie va sprijini are nevoie de mai mult și, ca urmare a merge la pagina de 2 ori 1 st pentru a obține în formă, de exemplu, de calcul și de Cookie, și 2- pentru a trimite un formular cu un răspuns și cookie-uri
spune-mi unde în vbulletin se introduce acest cod, în care șablonul dacă ($ _POST ['check']! = 'secretcode') ieșire ("Spam înșelat"); ?
Mulțumesc.
Tot ce aveți nevoie pentru e-mailuri, promoții și verificări - dame, software, împachetare.
Dezvoltarea de design și site-uri, precum și de proiectare a comunităților vkontakte
Vom fi bucuroși să vă vedem pe portalul nostru.
Oferim recenzii și garanții, portofele identificate, toate tipurile de plăți.
Această metodă nu funcționează, încă mai primiți e-mailuri spam. Spuneți-mi cum puteți rezolva această problemă adăugând somefunction (). Din păcate, nu este puternic în JS. Vă mulțumim anticipat