Merhaba Arkadaşlar.
Basit bir güvenlik kodu uygulaması yaptım. Olayın mantığının anlaşılması için kodların açıklamalarınıda yazdım.
Aşağıdaki dosyayı image.php olarak kaydedin.
Aşağıdaki dosyayı image2.php olarak kaydedin.
ve image2.php dosyasını çalıştırın. Eğer bir hata ile karşılaşıyorsanız php.ini dosyasını açın ve gd2'nin başındaki noktalı virgülü kaldırarak kaydedin. Servisleri yeniden başlatın ve image2.php'yi yeniden çalıştırın.
Basit bir güvenlik kodu uygulaması yaptım. Olayın mantığının anlaşılması için kodların açıklamalarınıda yazdım.
Aşağıdaki dosyayı image.php olarak kaydedin.
PHP:
<?php
/*
Author : İbrahim HIZLIOĞLU
Web : http://www.ofissoft.com | http://www.webteders.com
E-Mail : [email protected]
Update : 25.11.2009
Licence : Open Source
*/
# Guvenlik kodunu kullanabilmek icin session aciyoruz.
session_start();
# Resim Olusturuyoruz.
$resim = ImageCreate(100,30);
# Renkleri Belirliyoruz.
$beyaz = ImageColorAllocate($resim, 255, 255, 255);
$siyah = ImageColorAllocate($resim, 0, 0, 0);
$rand = ImageColorAllocate($resim, rand(0,255), rand(0,255), rand(0,255));
# Arkaplan rengini belirliyoruz.
ImageFill($resim, 0, 0, $rand);
# Resimin okumasını zorlastirmak icin rastgele renklerle cizgiler atiyoruz.
for($i=0;$i<=100; $i++)
{
$rand = ImageColorAllocate($resim, rand(0,255), rand(0,255), rand(0,255));
ImageLine($resim, $i+$i, 0, $i+$i, 30, $rand);
}
# Resimin kenarlarina siyah bir cerceve koyuyoruz.
ImageLine($resim, 100, 0, 0, 0, $siyah); # Ust Border
ImageLine($resim, 100, 29, 0, 29, $siyah); # Alt Border
ImageLine($resim, 0, 30, 0, 0, $siyah); # Sag Border
ImageLine($resim, 99, 30, 99, 0, $siyah); # Sol Border
# Guvenlik kodunu olusturuyoruz, Session'a atiyoruz ve resime yazdiriyoruz.
$harfler = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
$harf = array_rand($harfler,5);
$_SESSION['guvenlik']['deger'] = rand(1,9) . $harfler[$harf[0]] . rand(1,9) . $harfler[$harf[1]] . $harfler[$harf[2]] . rand(1,9) . $harfler[$harf[3]] . $harfler[$harf[4]];
ImageString($resim, 5, 14, 8, $_SESSION['guvenlik']['deger'], $beyaz);
# Resmi ekrana yaziyoruz.
header("Content,type: image/png");
ImagePng($resim);
# Resmi hafizadan siliyoruz.
ImageDestroy($resim);
?>
PHP:
<?php
# Session oturumunu baslatiyoruz.
session_start();
# Eger sayfaya post yapilmissa guvenlik kodunu kontrol edelim.
if($_POST)
{
# POST ile kullanicinin girdigi guvenlik kodunu alalim.
$gonderilen = $_POST['guvenlik'];
# Eger bossa uyari verelim. Bos degilse kontrol edelim.
if(empty($gonderilen))
{
echo 'Guvenlik kodunu bos birakamazsiniz!';
}
else
{
if($_SESSION['guvenlik']['deger']==$gonderilen)
{
# Guvenlik kodu dogru girildi. Burada mail gonderimi, kayit vb. islemlerinizi yapabilirsiniz.
echo 'Guvenlik kodu dogru. Tesekkurler.';
}
else
{
echo 'Hatali Guvenlik Kodu';
}
}
}
?>
<form action="" method="post">
<img src="image.php" /><br><input type="text" name="guvenlik" id="guvenlik" /><br><input type="submit" value="Gonder" />
</form>