Day-0 Posted November 20, 2012 Report Share Posted November 20, 2012 (edited) Captcha unul dintre primele scripturi care un programator il creeaza , un modul de constacte , care prevede completarea unui formular , plasarea unui e'mail automat la contact , asta pentru a evita probleme neplacute precut SPAM'UL .Una dintre solutiile acestei probleme poate fii [ CAPTCHA ] , un cod alfanumeric generat sub forma de imagine pentru a fii copiat intr'un textbox de catre utilizatori .Cerintele pentru creearea unui cod [ CAPTCHA ] , ei bine este doar 1 , utilizarea librariei [ GD ] pentru PHP , care va va permite sa lucrati sa creeati si sa utilizati codul [ CAPTCHA ] intr'o maniera dinamica . Librariile acestea sunt prezente in cele mai recente versiuni [ PHP ] , puteti verifica prezenta acesteia print [ php info(); ] Scriptul pe care il veti realiza este reprezentat de un [ file : captcha.php ]Exemplu de continut captcha.php ://Inceputul sesiunii unde este pastrat codul [ CAPTCHA ].session_start();//Generarea unui cod de 5 cifre [ random ].$random_txt = md5(microtime());$random_txt = substr($random_txt, 0, 5);//Crearea unei imagini.png , care se utilizeaza ca fundal (120x40px)$image = imagecreatefrompng("captcha.png");//Selectarea unei culri RGB , in cazul nostru .//0,0,0 echivalentul culorii negru$colore = imagecolorallocate($image, 0, 0, 0);//Creearea unei imagini finale unde campurile numerice se indentifica .//Dimensiunea fontului , distanta de la stanga si distanta de la margine -//margine inalta .imagestring($image, 100, 35, 15, $random_txt, $color);//Creerea sesiuni unde se pastraza textul RANDOM$_SESSION['COD'] = $random_txt;//Vizualizarea imaginii pentru CAPTCHAheader("Content-type: image/jpeg");imagejpeg($image);Dupa ce am generat scriptul [ captcha.php ] este aproape imposibil sa nu se inteleaga controalele acestuia care trebuiesc efectuate . Practic , trebuie s? vedem refresh pe formularul de contact si sa verifice corespondenta în pagina de rezultate :Cod continut in pagina de modul :...<img src="captcha.php" alt="Captcha"/><input name="cod" type="text" id="cod" size="5" maxlength="5"/>...Acum se trebuie controlat daca codul introdus de catre user corespunde cu cel scris [ CAPTCHA ] Control :...if ($_SESSION['COD']==$_POST['cod']) Initiez form... Edited November 20, 2012 by Day-0 Quote Link to comment Share on other sites More sharing options...
yoyois Posted November 20, 2012 Report Share Posted November 20, 2012 si e deosebit de simplu sa faci un bot care trebuie doar sa trimita sesiunea 'COD'.Nu ar fi mai bine ca sesiunea sa fie ceva de genul: md5($random_txt) ? Quote Link to comment Share on other sites More sharing options...
Day-0 Posted November 20, 2012 Author Report Share Posted November 20, 2012 si e deosebit de simplu sa faci un bot care trebuie doar sa trimita sesiunea 'COD'.Nu ar fi mai bine ca sesiunea sa fie ceva de genul: md5($random_txt) ?Fiecare are stilu lui de a coda Quote Link to comment Share on other sites More sharing options...
Xander Posted November 20, 2012 Report Share Posted November 20, 2012 @yoyois... nu asa functioneaza sesiunile in php... datele din _SESSION sunt stocate pe server Quote Link to comment Share on other sites More sharing options...
yoyois Posted November 20, 2012 Report Share Posted November 20, 2012 Scuze. Credeam ca se refera la cookies. Quote Link to comment Share on other sites More sharing options...