Jump to content
Day-0

Captcha [ Realizarea unui cod Captcha simplu ]

Recommended Posts

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
Link to comment
Share on other sites

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...