Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
PHP’ Captcha Güvenlik Kodu
#1
www.deccal.org

Son yıllarda üyelik formlarında, üyelik giriş sayfalarında, whois sorgularında, sipariş formlarında vs form işleminin gerçekleştiği tüm platformlarda güvenlik kodu / resim doğrulama işlemine rastlamış olmalısınız. Spam botları ve saldırılar gibi sebeplere ayrılsada temel amaç kötü niyetli kullanıcılar/kişilerden korunmada ek bir önlem daha almaktır. Animated Captcha (Hareketli resim doğrulama ) yazısından sonra gelen talep üzerine bilinen resim doğrulama uygulamasına bir örnek sunma gereği gündeme geldi. Örneklemenin daha net anlaşılması için resmi oluşturma, form doldurma ve sonuç basma sayfaları ayrı yapılmıştır. Bu örneği sitenizde çalıştırmak için GD desteğinizin olması gerekmektedir. phpinfo() çıktısında görebilirsiniz. Konsol erişimi olan arkadaşlar php -m komutunu uygulayarak GD modulu kontrol edebilirler...

Form Sayfası : index.php

Kod:
<!-- Tarayıcı ön belleğinde tutulmaması için no-cache -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//TR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="TR" lang="tr">
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="-1" />
    <title>wmturk.net - Resim doğrulama uygulamasına ait demo</title>
    <form method="post" action="sonuc.php">
        Dogrulama Kodu: <img src="img.php" height="25" width="75" />
        Doğrulama Kodunu Giriniz: <input size="6" maxlength="6" name="kod" type="text" />
        <input value="Test et" type="submit" />
    </form>
</body>
</html>

Resim Oluşturma Sayfası: img.php


Kod:
<?php
session_start();
/* Olusturulan kodu diger sayfalara tasiyabilmemiz icin oturum baslatiyoruz.
  0-999 araliginda bir sayi olusturup bunu md5 ile sifreliyoruz.
*/
$md5yap = md5(rand(0, 9999));

//md5 ile sifrelenen sayimizin uzunlugu 32 karakter olacaktir. Biz 6 karakterli alacagiz.
$dogrulamakodu = strtoupper(substr($md5yap, 8, 6));

//Dogrulama icin kullanicak kodumuzu acilan oturuma kaydediyoruz.
$_SESSION["dogrulamakodu"] = $dogrulamakodu;

//Resim boyutlari belirleniyor
$en = 75;
$boy = 25;

//Uzerinde calisacagimiz resim olusturuluyor.
$image = ImageCreate($en, $boy);

//Beyaz,Siyah ve Kirmizi renkler olusturuyoruz. Rakamlar renkleri ifade etmektedir.
$beyaz = ImageColorAllocate($image, 255, 255, 255);
$siyah = ImageColorAllocate($image, 0, 0, 0);
$kirmizi = ImageColorAllocate($image, 242, 0, 0);

//Arka plani beyaz yapiyoruz
ImageFill($image, 0, 0, $beyaz);

//Olusturulan dogrulama kodunu resime yaziyoruz.
ImageString($image, 6, 9, 5, $_SESSION["dogrulamakodu"], $siyah);

//Gorunumu biraz karistirmak icin cizgilerle gorunumu zorlastiriyoruz.
//Dilerseniz imageline() satirlarini kaldirarak cizgileri yok edebilirsiniz.
imageline($image, 0, 2, $en, 2, $kirmizi);
imageline($image, 0, 25, $boy, 0, $kirmizi);
imageline($image, $en, $boy, 40, 0, $kirmizi);
imageline($image, 0, 23, $en, 23, $kirmizi);

// Tarayiciya dosyamizin tipini yolluyoruz.
header("Content-Type: image/jpeg");

//Resmimizi Jpg formatinda basiyoruz.
ImageJpeg($image);

//Bir kereye mahsus kullanacagimiz icin siliyoruz.
ImageDestroy($image);
exit();
?>

Sonuç Sayfası: sonuc.php

Kod:
<?php
session_start();
// Eger form doldurulmussa
if (isset($_POST['kod'])) {
    if (strtoupper($_POST['kod']) == $_SESSION['dogrulamakodu']) {
        echo '<h4>Tebrikler, Doğru kodu girdiniz: <code>' . $_POST['kod'] . '</code></h4>';
    } else {
        echo '<h4><code>' . $_POST['kod'] . '</code>Hatali giris, tekrar deneyiniz. ' . $_SESSION['dogrulamakodu'] . '</h4>';
    }
    echo '<a href="index.php">Tekrar _fcksavedurl=""index.php">Tekrar" _fcksavedurl=""index.php">Tekrar" dene?</a>';
} else {
    ?>
    <a href="index.php">Sadece post verileri ile calisan bir sayfadir. Giris sayfasina donebilirsiniz.?</a>
<?php
}
?>
Beğenenler:
#2
Eline Sağlık
Beğenenler:

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Php Güvenlik Önlemleri umutgorur 0 263 31-08-2014, Saat: 13:39
Son Yorum: umutgorur
  PHP Domain Sorgulama Kodu TearsFears 2 799 24-06-2014, Saat: 19:32
Son Yorum: iMoGeN
Anahtar Kelimeler

PHP’ Captcha Güvenlik Kodu indir, PHP’ Captcha Güvenlik Kodu Videosu, PHP’ Captcha Güvenlik Kodu Online izle, PHP’ Captcha Güvenlik Kodu Bedava indir, PHP’ Captcha Güvenlik Kodu Yükle, PHP’ Captcha Güvenlik Kodu Hakkında, PHP’ Captcha Güvenlik Kodu Nedir, PHP’ Captcha Güvenlik Kodu Free indir, PHP’ Captcha Güvenlik Kodu Oyunu, PHP’ Captcha Güvenlik Kodu Download


1 Ziyaretçi