Jump to content
Day-0

Captcha [ Realizarea unui cod Captcha simplu ]

Recommended Posts

Posted (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 CAPTCHA
header("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 by Day-0
Posted
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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...