<?php session_start(); // session başlatıyoruz. $resim_kodu=""; // güvenlik kodumuzu tutacak değişken function rasgele() { // rasgele sayı ve rakam üretmek için bir fonksiyon yazalım. $gecici_deger = mt_rand(1,3); // 1 ile 3 arasında rasgele bir sayı alalım. // Eğer sayı 1 ise, küçük harf, eğer sayı 2 ise rakam // eğer sayı 3 ise büyük harf üreteceğiz switch ($gecici_deger) { case 1: // 97 den 122 ye kadar olan ASCII kodları küçük harflerden oluşur. $gecici_deger = mt_rand(97, 122); // 97 ile 122 arasından rasgele bir değer alıyoruz. break; case 2: // 48 den 57 ye kadar olan ASCII kodları rakamlardan oluşur. $gecici_deger = mt_rand(48, 57); // 48 ile 57 arasından rasgele bir değer alıyoruz. break; case 3: // 65 den 90 e kadar olan ASCII kodları büyük harflerden oluşur. $gecici_deger = mt_rand(65, 90); // 65 ile 90 arasından rasgele bir değer alıyoruz. break; } // $gecici_deger değişkeninde bulunan değeri geri döndürüyoruz. return chr($gecici_deger); } // Elimizde rasgele rakamlar ve harfler üreten bir fonksiyonumuz ve bir session var. // Geriye bir kod oluşturup bunu resim olarak göstermek kalıyor. // Şimdi 4 karakterden oluşan bir güvenlik kodu oluşturalım. for ($i = 1; $i <= 4; $i++) { $resim_kodu.= rasgele(); } // güvenlik kodumuzu elde ettiğimize göre bunu sessiona kaydedelim. $_SESSION['guvenlik_kodu'] = $resim_kodu; // kullanıcının göreceği html kısmını gösterelim. echo '<html><head><title>Güvenlik kodu uygulaması</title></head><body><br> <form action="kontrol.php" method="POST" name="guvenlik" target="_self"> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td> <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Lütfen resimde gördüğünüz kodu, resmin yanındaki kutucuğa giriniz. Eğer kodu tam okuyamıyorsanız F5 tuşuna basarak yeni kodu görebilirsiniz.</font></p> <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="resim.php?'; // resim.php dosyasının resim oluşturacağını söylemiştim. Daha önceden güvelik kodumuzu // session içine kaydettirmiştik. Bu güvenlik kodunu resme dönüştürmek için resim.php // dosyasına hangi session dosyasını kullanması gerektiğini söylüyoruz. echo session_id(); // bu satır ile session dosyasının id’ sini resim.php dosyasına iletmiş oluyoruz. echo '"></font></p> <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Kodu girin: </font> <input name="kod" type="text" id="kod" size="30"> <input type="submit" name="Submit" value="OK"> </p> <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <b>Not:</b>Güvenlik kodu büyük küçük harf duyarlıdır! </p> </td></tr> </table></form></body></html>'; ?"gt; |