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