Borba protiv spam botova
Pre tri-četiri godine, kada sam napravio Eyesburn fan club sajt (koji je od tad promenio 20 free hostinga
) za forum sam uzeo phpBB. Znam, znam, izabrao sam najgori forum softver, ali u to vreme je on bio najpoznatiji i najkorišćeniji forum softver. A kako imam nekoliko takvih, sitnih sajtova, ne znam šta bih drugo mogao da instaliram osim phpBB-a? Možda miniBB, ali on nema podršku za privatne poruke. Odnosno ima ali plaća se. Neko bi rekao da uzmem SMF, ali u to vreme SMF nije ni postojao. Ili je postojao, ali nije bio dobar/poznat kao današnji SMF.
E sad, kako je sajt postao ultra poznat (šalim se
) i dospeo na prvu stranu Google-a (trenutno ga nema jer je bio na .co.sr free domenu a oni više ne rade, ali eno ga eyesburnmusic.com na prvom mestu, koji isto ja održavam, a koristi takođe phpBB), počeo je da biva zasipan spam porukama od strane botova. Kako je phpBB bio (a i ostao?) najpoznatiji forum softver, vrlo brzo su skoro svi spambotovi pravljeni za forume počeli da čitaju phpBB-ovu CAPTCHA sliku bez ikakvih problema. Ubrzo se forum napunio SPAM botovima i ja sam tražio način kako da se otarasim istih. U početku sam ručno aktivirao naloge ne-sumnjivih korisnika, ali to me je ubrzo smorilo, a onda sam, surfujući po www.phpbb.com naišao na potpuno revolucionarnu – ANIMIRANU captcha sliku:

Ideja koja stoji iza ove slike je ta, da OCR programi moraju da zaustave animaciju da bi OCR-ovali sliku (pritisnite ESC da zaustavite animaciju slike u vašem browseru). Ali, zaustavljena animacija samo prikazuje gomilu nabacanih slova iz kojih ne može da se zaključi šta treba da se prekuca a šta ne. Dok ljudi koji gledaju animaciju prilično lako mogu da zaključe koja slova treba prekucati. Ova CAPTCHA je U POTPUNOSTI zaustavila spam botove na mojim forumima. Ako vas zanima, možete je preuzeti sa http://www.kessels.com/captcha/
Pre nekih godinu dana, pošto mi je još jedan free host pukao (ili je ubacio reklame preko pola strane), kupim ja www.avramovic.org i na njega ubacim EB fan club sajt. Taman što sam krenuo da ubacim animiranu captcha sliku – neće. Pogledam ja phpinfo(); na serveru gde mi je avramovic.org i primetim da GD nema podršku za Freetype, što će reći da ne mogu da koristim TTF fontove pri ispisivanju tekstova na dinamički generisane slike. Znači – gore pomenuta CAPTCHA otpada. Do mog sajta (a i foruma) je opet došao Google crawler, a ubrzo za njim i spam botovi, koji su default captcha sliku čitali ko od šale. Svakog jutra i večeri sam brisao od 5 do 20 botova sa foruma (nisu svi bili aktivirani, a oni koji su uspeli da otvore link iz aktivacionog mejla su odmah počeli da žvrljaju reklame porno sajtova po mom forumu). Iako nisam pristalica modifikovanja phpBB foruma (jer se sve ručno radi, i kad radiš update softvera moraš ponovo sve modove da instaliraš), ali sam na kraju bio toliko iznerviran da sam ponovo otišao na phpbb.com tražeći rešenje za svoj problem.
Ubrzo sam i našao rešenje, a to je “Registration Auth Code (RAC)“: Ovo je jako jednostavan mod za phpBB forume koji traži od korisnika da pri registraciji u novo tekstualno polje unesu reč koju ste vi zamislili. To može biti neki random string, koji ćete upisati negde na forumu (npr. u opisu prvog foruma) ili neko opšte pitanje na koje svi znaju odgovor:
Ovo sam postavio juče popodne na stranici za registraciju na EB fan club forumu, i do ovog trenutka nema NI JEDAN novoregistrovani SPAM BOT! Woohoo! Spam botovi: 0; Avram: 1
Takođe, dok je ovaj blog terao bBlog, ja sam dugo vremena koristio freeCap captcha sliku, koja je zaustavljala sve spam botove, ali su mi se i regularni čitaoci bloga žalili kako i njih zaustavlja pa po nekoliko puta pišu komentare. Kasnije sam ubacio gore pomenutu animiranu captcha sliku kod sebe na (stari) blog, i za noć sam dobio preko 200 spam komentara. Ne znam da li su bBlog botovi nekako uspeli da pročitaju animiranu captcha-u, mada sumnjam, jer verujem da bi onda i phpBB botovi bili u stanju da pročitaju istu (a forum na eyesburnmusic.com sajtu i dalje uspešno čuva stara verzija animirane captcha-e). Mora da sam ja napravio neku greškicu pri implementaciji same CAPTCHA-e. Onda sam privremeno dodao i JS proveru (“koliko je 2+2“, sećate se?
) i imao sam sreću da su botovi izgleda zaista popunjavali formular za komentar na mom blogu, jer da su preskakali formular i direktno submitovali podatke – ta JS zaštita bi bila beskorisna.
Sada na WordPress-u koristim reCaptcha sigurnosnu sliku, koja izgleda ovako:

reCaptcha dolazi kao besplatan plugin za WordPress i kao i svi ostali pluginovi, instalira se jednim klikom. Jedino što ćete morati da se registrujete na reCaptcha sajtu da biste dobili besplatne public i private ključeve, koji su neophodni da bi reCaptcha radila. Mislim da je u njenu korist dovoljno reći da, od kad sam je instalirao, nemam ni jedan spam komentar na blogu. Čak ni za moderaciju. Spam botovi: 0; Avram: 2
reCaptcha nije obična CAPTCHA slika, njihov moto je: “STOP SPAM. READ BOOKS.” Popunjavanjem reCaptcha formi na sajtovima vi pomažete njihovom softveru da razvija OCR jer vam reCaptcha u stvari prikazuje jednu sliku koju je uspela da dešifruje iz skeniranih knjiga, i jednu koju nije uspela da dešifruje, pa je onda vi dešifrujete i tako “podučavate” njihov OCR sistem. Detaljnije o ovome imate na Wikipediji.
I da zaključim: Ako koristite phpBB forume, preporučujem vam animiranu captcha sliku, opisanu ranije u ovom tekstu. Ako je lepo podesite zasigurno će zaustaviti bar 99% spam botova na vašem forumu. Ako na serveru nemate Freetype podršku, slobodno se okušajte sa RAC mod-om, takođe ranije opisanim. On bi trebalo da zaustavi spam botove, barem privremeno. A kasnije promenite šifru koja treba da se unese
Ukoliko koristite WordPress, najtoplije Vam preporučujem reCaptcha-u, jer je prilično sigurna (od kad sam instalirao WordPress dobio sam jedan spam komentar – dok nisam instalirao reCaptcha-u; posle toga – ni jedan) i lako se instalira. A ako ste PHP programer, na www.phpclasses.org možete naći gomilu CAPTCHA klasa spremnih za korišćenje. Možete koristiti i moju verziju animirane captcha-e, koja nije phpBB related već je prepisana tako da radi “stand-alone”






