Merhaba arkadaşlar. Bu yazımızda sizlere özellikle yorumlarda sıkça kullanılan güvenlik kodu oluşturma olayını anlatacağım. Öncelikle guvenlik.php adında bir sayfamız olacak. Bu sayfada güvenlik kodunu oluşturduğumuz fonksiyonumuz olacaktır. Birde goster.php adında bir sayfa oluşturacağız. Bu sayfada da güvenlik kodumuzu göstereceğiz. Örnek olarak botlar otomatik olarak sitenize gereksiz reklam yorumları atabilirler. Bunu önlemek amacıyla yorum yapacak kişiden güvenlik kodunu girmesi istenir. Botlar her sayfa yenilendiğinde değişen jpeg görselinin üzerindeki güvenlik kodunu doğru giremeyeceklerinden bu tür reklam yorumları canınızı sıkmaz. Şimdi ilk olarak guvenlik.php sayfamızdan başlayalım.
session_start();Gerekli ipuçlarını satır aralarında belirttim. Güvenlik kodunun doğruluğunun kontrolü için güvenlik kodunu bilmemiz gerekmektedir. Bu nedenle güvenlik kodunu her sayfada okuyabileceğimiz session'umuza aktardık. Makale sonunda kontrolünü nasıl sağlayacağımız konusunda bir örnek vereceğim. Şimdi goster.php sayfamıza geçelim.
//olusturulmus resmi tarayiciya gonderir
olustur();
$_SESSION['pass'] = $pass;
exit();
function olustur()
{
//md5 ile rastgele sayi uretelim
$md5 = md5(rand(0,999));
global $pass;
//degiskenimizin sadece 5 karakterini alıyoruz
$pass = substr($md5, 10, 5);
//oluşturulacak görselin boyutlarını ayarladık
$width = 100;
$height = 38;
//resim kaynagini olusturuyoruz
$image = ImageCreate($width, $height);
//renkleri degiskenlere atıyoruz.
$renk1 = ImageColorAllocate($image, 255, 255, 255);
$renk2 = ImageColorAllocate($image, 0, 0, 0);
$renk3 = ImageColorAllocate($image, 244, 55, 0);
//Zemini siyah yapiyoruz
ImageFill($image, 0, 0, $renk1);
//Rastgele sayiyi resmin uzerine yaziyoruz
ImageString($image, 5, 30, 4, $pass, $renk2);
// yazı büyüklüğü & saga kaydırma & aşağı kaydırma
//resmin üzerine çizgi ekliyoruz
imageline($image, 0, $height/2, $width, $height/2, $renk3);
imageline($image, $width/2, 0, $width/2, $height, $renk3);
//sunucuya görsel türünü belirtiyoruz.
header("Content-Type: image/jpeg");
//Son olarak görselin çıktısını alıyoruz.
ImageJpeg($image);
//Kaynagi temizliyoruz
ImageDestroy($image);
}
<html>Böylelikle sayfamızda güvenlik kodu görselimizi göstermiş olduk. Bu kodların karşılaştırılarak kontrol edilmesiyle ilgili örnekte aşağıdaki gibidir.
<body>
<img src="guvenlik.php">
</body>
</html>
session_start();Böylelikle bir yazımın daha sonuna gelmiş bulunmaktayım. Sonraki yazılarda görüşmek üzere...
$guvenlikkodu = $_SESSION['pass'];
$gelenkod = $_POST['guvenlikkodu'];
//Kişinin kodu girip postladığını düşünelim ve çekip değişkene aktaralım.
if($gelenkod == $guvenlikkodu) //kodlar birbiriyle aynı mı kontrol ettik.
{
//İki kod birbirini tutuyorsa bu parantezlerin arası işleme alınır. Burada yorum veritabanına kaydedilebilir.
}
2 Yorum
Kubilay
İyi akşamlar güvenlik kodunu uyguladığımda sağ tıklayıp kaydet dediğimde php sayfası geliyor başka sitelere baktığımda normal resim olarak iniyor.Bunu nasıl ayarlıyorlar.
emre çevik
teşekkürler sayenizde proje ödevimi bitirdim