Php İle Resimli Güvenlik Kodu Uygulaması

Php İle Resimli Güvenlik Kodu Uygulaması

Php’de formalarınız için nasıl resimli güvenlik kodu oluşturup kullanabilirsiniz bunu görelim.

demosuna bakmayı unutmayın Smile 

index.php de formumuzu oluşturalım

<form action="kontrol.php" method="post">

    Resimdeki kodu giriniz :<img src="captcha.php"> <input type="text" name="guvenlik">
    <input type="submit" value="Gönder">


</form> 

daha sonra resmimizi oluşturmak için captcha.php dosyamızı oluşturalım

 

<?php


class captcha {


    public function resimuret($eni,$boyu){

        session_start();

        $md5yap = md5(rand(0, 9999));


        $dogrulamakodu = strtoupper(substr($md5yap, 8, 6));


        $_SESSION["dogrulamakodu"] = $dogrulamakodu;


        $en =$eni ;
        $boy = $boyu;

//Uzerinde calisacagimiz resim olusturuluyor.
        $image = ImageCreate($en, $boy);

//Beyaz,Siyah ve Kirmizi renkler olusturuyoruz. Rakamlar renkleri ifade etmektedir.
        $beyaz = ImageColorAllocate($image, 255, 255, 255);
        $siyah = ImageColorAllocate($image, 0, 0, 0);
        $kirmizi = ImageColorAllocate($image, 242, 0, 0);

//Arka plani beyaz yapiyoruz
        ImageFill($image, 0, 0, $beyaz);

//Olusturulan dogrulama kodunu resime yaziyoruz.
        ImageString($image, 6, 9, 5, $_SESSION["dogrulamakodu"], $siyah);

//Gorunumu biraz karistirmak icin cizgilerle gorunumu zorlastiriyoruz.
//Dilerseniz imageline() satirlarini kaldirarak cizgileri yok edebilirsiniz.
        imageline($image, 0, 2, $en, 2, $kirmizi);
        imageline($image, 0, 25, $boy, 0, $kirmizi);
        imageline($image, $en, $boy, 40, 0, $kirmizi);
        imageline($image, 0, 23, $en, 23, $kirmizi);

// Tarayiciya dosyamizin tipini yolluyoruz.
        header("Content-Type: image/jpeg");


        ImageJpeg($image);


        ImageDestroy($image);
        exit();


    }

}

$resim=new captcha();
$resim->resimuret(75,25);


?>

ve daha sonrada kontrol.php ile gelen değerlerimizi kontrol edelim ve sonucu ekrana yazalım

 

<?php
session_start();
$formkod=$_POST['guvenlik'];

$kod=$_SESSION['dogrulamakodu'];

if($formkod!=$kod){

    echo"Güvenlik kodu hatalı";
}
else{

    echo "güvenlik kodu doğru girildi";
}


?>

işlemlerimiz bu kadar.geliştirip kullanmak sizlere kalmış

umarım işinize yarar. Wink

buyrun demosu:
 DEMO