O Şimdi Asker
Pim Çek Bomba At....Astek


Bir çok yerde karşılaştığımız işlemli güvenlik kodu uygulaması örneğini gösterecem.
Diğerinden bir farkı yok zaten. Her ne kadar kişisel siteme
uyarlamamış olsam da (:)) örnek dosya şeklinde dosya indir bağıntısından indirebileceksiniz.

Malzemelerimize geçelim.
Bilmemiz gereken php fonksiyonlar;
Rand
ImageCreateFromJpeg
ImageColorAllocate
ImageLoadFont (Eğer Kullanmak İsterseniz Değişik Fontlarda Kod Elde Edebilirsiniz)
ImageString
ImagePng
ImageDestroy

guvenlik_arka.jpg resim dosyası.
php güvenlik kodu

Fonksiyoları işlem içinde anlatacam. Anlaşılmayan fonksiyonları php.net'ten de öğrenebilirsiniz.

Öncelikle güvenlik kodu fonksiyonumuz ya da dosyamız (ki dosya olarak hazırlayacaz, php sistemniz içinde fonksiyon olarak da kullanabilirsiniz.) için

guvenlik_kodu.php şeklinde bir dosya olulturuyoruz.

ilgili php taglarını açtıktan sonra


<?php 

session_start
();
 
?>


diyerek oturumuzu başlatıyoruz. Zira biz çerez yerine çok daha güvenli olan oturum ile güvenlik kodunu yapacağız.

İşlemimizi toplama olarak yapacam. İşlemde sayı yerine rakam (0-9) kullanıyorum. İşi yokuşa sürmeye gerek yok :)
Rastgele iki rakam üretelim. Bunun için rand fonksiyonun kullanıyoruz.
rand ( sayısal değer başlangıcı , sayısal değer bitişi ) iki adet değişkenimiz olup ilki rastgele üreteceğimiz sayının başlangıcı, ikincisi ise
bitişi.

<?php 

$RastgeleSayi1 
rand(0,9);
$RastgeleSayi2 rand(0,9);
 
?>


0 ve 9 arasında iki adet rastgele rakam ürettik. Şimdi bunları toplayalım.

<?php 

$Islem
=$RastgeleSayi1+$RastgeleSayi2;
 
?>


$Islem değişkenimiz $RastgeleSayi1 ve $RastgeleSayi2 değişkenlerinin toplamı sonucudur. Bunu oturumumuza kayıt edelim.

<?php 

$_SESSION
['htbilgi'] = $Islem;
 
?>

Dip not: htbilgi, oturumuzun adıdır. Sorgu sayfasında isteyeceğimiz oturum adı.


<?php 

$resim  
ImageCreateFromJpeg('guvenlik_arka.jpg');
 
?>

ImageCreateFromJpeg tek bir değişkene ihtiyaç duyar. O da resim dosyasıdır. İşlevi adı gibi resim oluşturmak.


<?php 

$beyaz  
ImageColorAllocate($resim255255255);
 
?>

imagecolorallocate (kaynak resim,kırımızı,yeşil,mavi) 4 değişkeni vardır. İlki resim kaynağı ve diğerleri resim bileşen değerleridir.
resim bileşen değerlerini googledan ulaşabilirsiniz.

İsteğere göre font;
$font = imageloadfont('almosnow.gdf'); // ImageString de 5 yerine $font koyarsanız istediğiniz font çıkar.


<?php 

ImageString
($resim52420$RastgeleSayi1.' + '.$RastgeleSayi2.' = ?'$beyaz);
 
?>

imagestring (kaynak resim,sayısal yazıtipi,sol üst köşenin x konumu,sol üst köşenin y konumu,verimizi (işlem bilgileri),rengimiz)


<?php 

header
("Content,type: image/png");
ImagePng($resim);
ImageDestroy($resim);
 
?>


Çıkışımız png resmi olacak. imagepng png çıktısı, imagedestroy bellekten resmi siler.

Şimdi bu kodlarımızı düzenlersek;


<?php 

session_start
();
$RastgeleSayi1 rand(0,9);
$RastgeleSayi2 rand(0,9);
$Islem=$RastgeleSayi1+$RastgeleSayi2;
$_SESSION['htbilgi'] = $Islem;
$resim  ImageCreateFromJpeg('guvenlik_arka.jpg');
$rand   ImageColorAllocate($resim255255255);
//$font = imageloadfont('almosnow.gdf'); // ImageString de 5 yerine $font koyarsanız istediğiniz font çıkar.
ImageString($resim52420$RastgeleSayi1.' + '.$RastgeleSayi2.' = ?'$beyaz);
header("Content,type: image/png");
ImagePng($resim);
ImageDestroy($resim);
 
?>


guvenlik_kodu.php dosyamıza bunları yazalım.

Gelelim post edilen bir sayfada bu kodlarımızı nasıl çalıştıracağımıza.

Basit bir form yapalım, form.php sayfamız için form

<?php 

<form name="melih" action="form.php" method="post">
<
img src="guvenlik_kodu.php"
<input type="text" name="guvenlikkodu" max_lenght="2">
<
input type="submit" name="gkod" value="Kodu Gönder">
</
form>
 
?>


php kodumuz, ve form.php dosyamızı şekillendirirsek.

<?php 

session_start
();
if(isset(
$_POST['gkod'])){

    if (empty(
$_POST["guvenlikkodu"]) || empty($_SESSION['htbilgi']) || !$_SESSION['htbilgi']) {
        
$HATA 'Güvenlik Kodunu Girmediniz Ya Da Oturumunuz Sonlanmış';
    }elseif (
$_POST["guvenlikkodu"] != $_SESSION['htbilgi']) {
        
$HATA 'Güvenlik Kodunu Doğru Girmediniz';
    }
        if(isset(
$HATA)){
            echo 
'<br><hr><center>'.$HATA.' Geri Dönün</center>';
        }else{
            echo 
'Güvenlik Kodu Başarılı';
        unset(
$_SESSION['htbilgi']);
        }

}else{
?>
<h2>Güvenlik Kodu Form Uygulaması</h2>
<form name="melih" action="form.php" method="post">
<img src="guvenlik_kodu.php"
<input type="text" name="guvenlikkodu" max_lenght="2">
<input type="submit" name="gkod" value="Kodu Gönder">
</form>
<?php
}

 
?>


Test edin (php güvenlik kodu)

Derlenmiş Dosyayı İndirin Altan

Benzer Başlıklar...

» Eczane 6.7 ya da 7.0 Uygulaması Kurulumu


Yorumlar (5)

  1. Ahmet Selim

    28.11.2009, 07:16

    Eyvallah sağolasın güzel uygulama

  2. Cüneyt

    07.12.2009, 06:57

    Fontu nasıl uygulayabiliriz ?

  3. Tolgahan

    16.12.2009, 04:58

    güzel uygulama saol

  4. mİKAİİL

    26.02.2010, 08:52

    Kardeşime eline sağlık çok güzel anlatmıssın cok iyi de calısıyor yanlız ben uygulamak istediğm sayfaya bir türlü entegre edemiyorum bu konuda yardımcı olurmusun rica etsem

  5. Melih

    16.03.2010, 01:44

    Merhabalar,

    En basit şekliyle;
    echo \\\'Güvenlik Kodu Başarılı\\\'; yazan yere kendi kodlarınızı yapıştacaksınız.

    Saygılarımla
    Melih


(Gerekli)



(Gerekli)