• 18 odgovora
  • 7.861 pregleda
PHP Captcha sistem - učiniti sliku još nečitljivijom 23.11.2005. u 19:01 · pre 254 meseci #1
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" :D 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);
?>
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 23.11.2005. u 20:09 · pre 254 meseci #2
Mozda da dodas
Code:

for ($i=0;$i<200;$i+=10)
{
    imageline($safeemail,$i,30,$i+10,0,$textcolor);
}

iznad "imagecolortransparent($safeemail,$backcolor)" linije?
Potpis
Life happens but shit goes on
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 23.11.2005. u 22:38 · pre 254 meseci #3
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?
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 23.11.2005. u 23:00 · pre 254 meseci #4
@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);


:D :D :D

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]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 24.11.2005. u 07:43 · pre 254 meseci #5
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.
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 24.11.2005. u 08:00 · pre 254 meseci #6
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...
Potpis
We look into the net, and the net is growing wide and wider.
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 24.11.2005. u 10:59 · pre 254 meseci #7
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.
Potpis
Jeff, one day you’ll understand that it’s harder to be kind than clever.
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 24.11.2005. u 12:10 · pre 254 meseci #9
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...
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 25.11.2005. u 12:40 · pre 254 meseci #10
@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]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 25.11.2005. u 12:56 · pre 254 meseci #11
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....?
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 06.05.2007. u 20:18 · pre 237 meseci #13
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.
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 07.05.2007. u 14:15 · pre 236 meseci #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 :)
Potpis
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 07.05.2007. u 15:50 · pre 236 meseci #16
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
Re: PHP Captcha sistem - učiniti sliku još nečitljivijom 07.05.2007. u 21:00 · pre 236 meseci #18
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 :)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme