PHP: Catpcha Uygulaması

Catpcha phpFormlar aracılığıyla data alma uygulamalarında botlardan ve spam robotlarından sakınmak için kullanılan en popüler metod Captcha. Bu uygulamada basit bi Captcha uygulamasını form ile doğrulama işlemlerini işleyeceğiz.

<img src=”captcha.php” align=”middle” height=”40″/> kodu ile resim halinde çağrılan captcha.php dosyası , random karakter öbeğini $_SESSION değerine atayacak ve resim oluşturacak. Karakter fontu için de özel ttf kullanabiliyorsunuz.

Uygulama dosyalarını indirebileceğiniz bağlantı yazının sonundadır.

captcha.php kodlarını paylaşıyoruz.

catpcha.php


<?php

ob_start();

session_start();

$str = "";

$length = 0;

for ($i = 0; $i < 5; $i++) {

$str .= chr(rand(97, 122));

}

$_SESSION&#91;'letters'&#93; = $str;

$imgW = 100;

$imgH = 32;

$image = imagecreatetruecolor($imgW, $imgH);

$backgr_col = imagecolorallocate($image, 200,200,200);

$border_col = imagecolorallocate($image, 41,44,47);

$text_col = imagecolorallocate($image, 41,44,47);

imagefilledrectangle($image, 0, 0, $imgW, $imgH, $backgr_col);

imagerectangle($image, 0, 0, $imgW-1, $imgH-1, $border_col);

$font = "jennifer.ttf";

$font_size = $imgH / 1.7;

$angle = rand(-1,2);

$box = imagettfbbox($font_size, $angle, $font, $str);

$x = (int)($imgW - $box&#91;4&#93;) / 2;

$y = (int)($imgH - $box&#91;5&#93;) / 2;

imagettftext($image, $font_size, $angle, $x, $y, $text_col, $font, $str);

header("Content-type: image/png");

imagepng($image); imagedestroy ($image);

?>

 

Uygulamanın çalıştırılabilen index.php dosyasına geçiyoruz.

index.php


<?php

if(!empty($_POST&#91;'code'&#93;)){

if($_POST&#91;'code'&#93;==$_SESSION&#91;'letters'&#93;){

?>

<p align="center">Güvenlik Doğrulama Uygulaması Başarılı!</p>

<?php

}else{

?>

<p align="center"><span style="color:#900;">Hatalı Güvenlik Doğrulama Uygulaması Başarısız!</span></p>

<?php

}

}else{

?>

<p align="center"> Doğrulama kodunu girin ve formu gönderin. </p>

<?php

}

?>

<form action="" method="post">

<table width="550" align="center" border="0" style="border:none;">

<tr>

<td width="118"><strong>Güvenlik Kodu: </strong></td>

<td><img src="captcha.php" align="middle" height="40"/></td>

</tr>

<tr>

<td>

<strong>Doğrula: </strong></td>

<td><input type="text" name="code" width="100" /></td>

</tr>

<tr>

<td></td>

<td> <button type="submit" name="v" style="cursor:pointer;">Gönder</button> </td>

</tr>

</table>

</form>

 

Demo       Download

3 thoughts on “PHP: Catpcha Uygulaması

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir