|
[ Nemanja Avramović @ 23.11.2005. 19:01 ] @
| E ljudi, evo radim na nekom captcha sistemu, možete ga pogledati na http://www.webinsane.com/captcha/gd/ - pa me zanima kako još malo da "sje*em" tekst, tj. da ga učinim još nečitljivijim? Moj "kepča" sistem radi tako što izabere reč iz fajla, nasumično, zatim smesti to u session i onda zove drugi fajl koji čita session i crta sliku. Fajl koji proverava ispravnost unete reči takođe iz session-a.
Dakle, kod mene sve radi, samo mi treba neki trik kako da učinim tekst još više nečitljivijim?
Evo ključnog fajla:
Code: <?php
error_reporting(0);
session_start();
$txt = $_SESSION['CaptchaWord'];
if (!isset($txt)) { $txt = $_GET['CaptchaWord']; } //test
if (!isset($txt)) { $txt = 'test'; }
$txt = trim($txt);
$colorR = $_SESSION['colorR'];
if ($colorR == -1) { $colorR = rand(50,200); } // -1 je default vr.
$colorG = $_SESSION['colorG'];
if ($colorG == -1) { $colorG = rand(50,200); } // -1 je default vr.
$colorB = $_SESSION['colorB'];
if ($colorB == -1) { $colorB = rand(50,200); } // -1 je default vr.
$myTextLen = strlen($txt);
$safeemail = imagecreate($myTextLen*15,40);
$backcolor = imagecolorallocate($safeemail,255,255,255);
$textcolor = imagecolorallocate($safeemail,$colorR,$colorG,$colorB);
$textcolor2 = imagecolorallocate($safeemail,$colorB,$colorR,$colorG);
$textcolor3 = imagecolorallocate($safeemail,$colorG,$colorG,$colorG);
imagefill($safeemail,0,0,$backcolor);
imagestring($safeemail,12,0,10,$txt,$textcolor);
imagestring($safeemail,20,10,0,$txt,$textcolor2);
imagestring($safeemail,20,rand(0,$myTextLen*15-10),rand(0,30),$txt,$textcolor3);
imagecolortransparent($safeemail,$backcolor);
header("Content-type: image/gif");
imagegif($safeemail);
imagedestroy($safeemail);
?> |
[ SashaM @ 23.11.2005. 20:09 ] @
Mozda da dodas
Code:
for ($i=0;$i<200;$i+=10)
{
imageline($safeemail,$i,30,$i+10,0,$textcolor);
}
iznad "imagecolortransparent($safeemail,$backcolor)" linije?
[ Nemanja Avramović @ 23.11.2005. 22:38 ] @
Dodao sam to, samo sto sam umesto 10 stavio 5 tako da linije ipak budu malo gušće.
http://www.webinsane.com/captcha/gd/
Hmmm? Mišljenja?
[ bojan_bozovic @ 23.11.2005. 23:00 ] @
@jahvram
Misljenjea sam da nikad ne bi koristio tvoj sajt, sem ukoliko bas nemas neki ultrajaki sadrzaj na sajtu - preterao si ga bre!
BTW da bi capcha sistem bio jos uspesniji i nevidljiviji mozes da koristis
Code:
$boja = imagecolorallocate($slika, 200, 200, 200);
imagefilledrectangle($slika, 0, 0, 120, 30, $boja);
Mani se toga bre, dovoljno ti je da blokiras HTTP_REFERRER ako nije sa tvog domena, iskreno, jer ti je cilj da korisnicima ucinis sajt lakim a ne teskim za toriscenje jer ti nisi Yahoo. Zamisli CAPCHA sliku za svaku pretragu na Google-u i gubitak od $500 miliona
[Ovu poruku je menjao bojan_bozovic dana 24.11.2005. u 00:00 GMT+1]
[Ovu poruku je menjao bojan_bozovic dana 24.11.2005. u 00:02 GMT+1]
[ noviKorisnik @ 24.11.2005. 07:43 ] @
Citat: bojan_bozovic: Mani se toga bre, dovoljno ti je da blokiras HTTP_REFERRER ako nije sa tvog domena
Može da se desi da ne dobiješ HTTP_REFERER informaciju, a takođe može da bude i lažirana.
Citat: Zamisli CAPCHA sliku za svaku pretragu na Google-u i gubitak od $500 miliona ;)
Ovde si ga promašio skroz. Nigde u ovoj temi nije napomenuta ni reč o upotrebi ovog CAPTCHA sistema, već o algoritmu za njegovu realizaciju.
Ontopic - slika treba da bude laka za čitanje - čoveku - a teška nečoveku - mašini.
[ WinterMute @ 24.11.2005. 08:00 ] @
Tako je novi korisniče!
Avro, pošto sam eksperimentisao sa algoritmima za neuronske mreže i ocr-om, mogu ti reći da NN može da se poduči da veoma dobro otklanja noise kao što su te linije ili tačkice, ono kod čega je bagovao je situacija kada su karakteri bili različitog fonta, različite veličine i pogotovo kad su bili razbacani po vertikali. Na primer prvo slovo je verdana 12px, sledeće slovo je malo iznad, drugog fonta, 13px i tako dalje...
[ boccio @ 24.11.2005. 10:59 ] @
Citat: WinterMute: NN može da se poduči da veoma dobro otklanja noise kao što su te linije ili tačkice, ono kod čega je bagovao je situacija kada su karakteri bili različitog fonta, različite veličine i pogotovo kad su bili razbacani po vertikali.
Odlican savet... To je ono sto dobri sistemi koriste - svako slovo razlicit font, velicina, stil i pozicija. Oko ce to sa lakocom da procita, a cilj je postignut.
[ broker @ 24.11.2005. 11:01 ] @
Nemoj koristiti reci iz recnika nego slucajna slova i brojeve.
[ Nemanja Avramović @ 24.11.2005. 12:10 ] @
Hmmmm zasto da ne koristim recnik? :)
@bojan_bozovic: O kom sajtu govoris? :D
@WM: Pa to sam Vas sve i pitao. Pomozite mi onda oko cinjenja slike necitljivom za mashine, npr. sa imagettftext itd...
Takodje, kad koristim imagettftext, kod nekih TTF fontova lepo radi, kod nekih ne radi lepo... zasto, da li znate? I ajde, dajte neke lepe TTF fontove pogodne za ovo...
[ bojan_bozovic @ 25.11.2005. 12:40 ] @
@jahvram
Ono sto sam video (tvoj capcha sistem, ako ga nisi promenio) mi je zadao velike glavobolje, a BTW nemam idealan vid. Racunaj da osobe sa slabim vidom i stariji nece uopste moci da koriste takav capcha sistem. BTW ovde sam na [es] procitao da je capcha sistem 100% provaljen, i da, zasto ne dam ideju, bolje da se ide sa prepoznavanjem slika (jagoda, anybody?)  ili samo slike, dakle, ili slike uz 'laksi' capcha sistem...
[Ovu poruku je menjao bojan_bozovic dana 25.11.2005. u 13:41 GMT+1]
[ Nemanja Avramović @ 25.11.2005. 12:56 ] @
Da ali ja NEKAKO moram da se zaštitim. Pogledaj s vremena na vreme http://www.eyesburn.cjb.net/gbook.php
I pored ovog captcha sistema dnevno imam 5-6 spamova u guestbook-u. Evo upravo sam obrisao 5 spam poruka. Ta ideja sa slikama nije loša ali mislim da ima par nedostataka:
1) moraš imati mnooooooooogo slika što će povećati veličinu samog sistema pa će biti nezgodno za korišćenje
2) neće svi korisnici skontati da treba npr. na engleskom napisati reč, ili će neki pisati na svom jeziku, ili možda ne znaju kako se određena "stvar" koja je na slici zove na engleskom, a srpski ne mogu da stavim zbog stranih posetilaca, a čak i ako ga stavim, dolazi problem sa šđžćč...
3) mnogo je lakše prepisati reč, možeš i da ne znaš šta ona znači - ti je samo prepisuješ...
Na kraju, tvoj predlog je jako dobar, samo ga treba razraditi.
I da, još ovo: I ja sam za skidanje noise-a i stavljanje različitih fontova, ali ne znam kako najlakše to uraditi. Možda da stavim ćirilični font? :D Šta ću onda sa stranim posetiocima....?
[ Prokleta_Nedelja @ 06.05.2007. 14:43 ] @
da ali umjesto slike objekata mozes staviti i matematicke radnje npr 2+2=...
tako em ce se bot muciti da procita sliku i brojeve 2 i 2 em nece znati da treba da ih sabere
[ glavince @ 06.05.2007. 20:18 ] @
Samo nemoj preterati sa matematikom, da ne bi korisnicima trebao kalkulator da bi popunili captchu :)
Nego imam i ja jednu foru ali ne znam dali bi funkcionirala. Ako u formi postoji polje koje humani ne bi videli i pritom ne bi popunjavali to polje tipa: <input type="text" style="border:0;">, Dali bi bot popunio to polje i sam sebe izdao da je bot.
Nadam se da ste me razumeli.
[ Nemanja Avramović @ 06.05.2007. 20:42 ] @
Zavisi od bota do bota... inače, tema je iz 2005. godine...
[ Jezdimir Lončar @ 07.05.2007. 14:15 ] @
Hahahaha...
Povampirila se tema :P
Anyway, mislim da je najbolje staviti random querstion.
Recimo, postavis pitanje koliko je x-y a u drugom randu z+y ili vec tako neke mat. op.
Da se ne pravi slika :)
[ 1r0nM4n @ 07.05.2007. 15:50 ] @
Citat: Da se ne pravi slika :)
Ako se ne pravi slika, onda lako može da se provali da li se traži x+y ili x-y ili šta već. Najbolja je kombinacija slike i tog nekog prostog pitanja. Ja sam stavio na jednom forumu kojeg administriram, pored anim captche, zahtev da se unese ime naše države (tj, srbija). Od tada.. nema ni jednog registrovanog korisnika koji je bot..
p0z
[ beep @ 07.05.2007. 16:24 ] @
Ja koristim jedno 20-30 razlicith pozadina na koje lepim slova ... slova se ispisuju pod razlicitim uglovima , kao i po visini .... za sada nije bilo problema ...
[ Nemanja Avramović @ 07.05.2007. 21:00 ] @
Citat: Ja sam stavio na jednom forumu kojeg administriram, pored anim captche, zahtev da se unese ime naše države (tj, srbija). Od tada.. nema ni jednog registrovanog korisnika koji je bot..
To baš i nije svuda upotrebljivo. Ti na svom forumu imaš isključivo posetioce iz Srbije. Mi ovde tražimo univerzalno rešenje 
[ 1r0nM4n @ 08.05.2007. 19:47 ] @
Pa dobro, ovo je neko lokalno rešenje a i forum nije moj .)
p.s.
Najzad  Ko razume, shvati će..
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|