Şimdi Ara

Güvenlik Kodu Çok Acil Yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
831
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ben burada gördügünüz forma güvenlik kodu yerleştirmek istiyorum ama bir türlü yapamadım öyle gelişmiş birşey degil çok basit birşey arıyorum

    8+1=?
    veya
    455844

    Gibibirşey çıksın istiyorum ekranda yanlışşa güvenlik kodunu yanlış girdiniz diye yazsın isityorum birkaç örnek denedim ama bir türlü yapamadım



     
    <?php

    session_start();

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />



    <link href="style.css" rel="stylesheet" type="text/css" />

    </head>

    <body>



    <!--body start -->

    <div id="body">

    <br class="spacer" />



    <!--right panel start -->

    <div id="right">



    <br class="spacer" />

    </div>

    <!--right panel end -->

    <!--left panel start -->

    <div id="left">

    <h2>Üye Ol</h2>

    <p class="lftText">Üyelik formunu doldurunuz...</p>

    <p class="lftText"> </p>



    <?php

    function emailkontrol($email)

    {

    return filter_var($email, FILTER_VALIDATE_EMAIL);

    }

    ?>



    <?php

    extract($_POST); // POST dan gelen verileri değişkenlere at

    if ( isset($Submit) )

    {



    include ("baglan.php");



    // KONTROLLER

    if ($sozlesme!=1)

    {

    $hata .= "- Lütfen sözleşmeyi kabul edin.<br>";

    }



    if ($uyeadi == "" || $sifre=="" || $email=="")

    {

    $hata .= "- Üye Adı, Şifre ve Email alanları boş bırakılamaz.<br>";

    }



    if ($sifre!=$sifre2)

    {

    $hata .= "- Şifre ile Tekrarı aynı girilmelidir.<br>";

    }



    if(!emailkontrol($email))

    {

    $hata .= "- Email adresiniz geçerli değil. Lütfen geçerli bir email adresi giriniz.<br>";

    }



    // HATA YOKSA ÜYE OLSUN

    if ( $hata=="" )

    {

    // veritabanına ekle



    $islem = mysql_query("INSERT INTO uyeler

    (uyeadi,sifre,email)

    VALUES

    ('$uyeadi','$sifre','$email')") or die(mysql_error());





    echo "<font color=green><b>Üyelik işleminiz yapıldı. Emailinize gönderilen aktivasyon işlemini yapınız.</b></font><br><br>";

    $kayit = "yapıldı";

    }

    else

    {

    echo "<font color=red><b>$hata<b></font><br><br>";

    }





    }

    ?>



    <?php if ( $kayit != "yapıldı" ) { // kayıt yapılmadıysa ?>

    <form id="form1" name="form1" method="post" action="uyeol.php">

    <p>Üye Adı:</p>

    <p>

    <input name="uyeadi" type="text" value="<?php echo $uyeadi ?>" />

    </p>

    <p> </p>

    <p>Şifre:</p>

    <p>

    <input name="sifre" type="password" />

    </p>

    <p> </p>

    <p>Şifre Tekrarı:</p>

    <p>

    <input name="sifre2" type="password" />

    </p>

    <p> </p>

    <p>Email:</p>


    <p>

    <input name="email" type="text" value="<?php echo $email ?>" />

    </p>

    <p> </p>

    <p>

    <input name="sozlesme" type="checkbox" id="sozlesme" value="1" />

    Üyelik Sözleşmesini kabul ediyorum. </p>

    <p> </p>

    <p>

    <input name="Submit" type="submit" id="Submit" value="Üye Ol" />

    </p>

    </form>

    <?php } ?>

    <br class="spacer" />

    </div>

    <!--left panel end -->



    <!--mid panel start -->

    <div id="mid">

    <h2>Üyeliğin Avantajları</h2>

    <img src="images/uyeol.png" alt="pic" width="252" height="252" />

    <h3>Üyeler,</h3>

    <p class="midText">Üyeler birbirlerine mesaj gönderebilir.</p>

    <p class="midText">Forum sayfalarında yorum yababilir.</p>

    <p class="midText">Ankette oy kullanabilir. </p>

    </div>

    <!--mid panel end -->



    <br class="spacer" />

    </div>

    <!--body end -->





    </body>

    </html>



    < Bu mesaj bu kişi tarafından değiştirildi kartal.24 -- 10 Şubat 2011; 13:12:29 >







  • Sağdan soldan toplayıp bunu yaptım. Ben giriş yapayım, eksiği varsa birileri tamamlar...

    Kodları vereceğil ama öncelikle GD Kütüphanesi açmanız gerekecek (kapalıysa). Bunun için php.ini dosyasının içinde ;extension=php_gd2.dll (php dizininde ext altında yoksa internetten indirmeniz gerekebilir) satırının başındaki noktalı virgülü kaldırmanız yeterli. Sonra bir de püf noktası var. font (ben örnekte Capthya.ttf olarak isimlendirdim) dosyası proje ile aynı yerde olmalı (en azından yol doğru verilmeli). Ben değişik olsun diye fontu sitenin birinden indirdim. Sistemde de bolca fontunuz var zaten.

    Bundan sonra kodları vereyim. Zaten bol comment li oldukları için kolayca yaparsınız.

    Bu birinci dosya ben adını Capthya.php olarak verdim...
     
    <?php
    // Dosya Türü Belirtiliyor
    header("Content-type: image/png");

    // Oturum açılıyor
    session_start();

    // Resim oluşturuluyor
    $im = imagecreatetruecolor(75, 30);

    // Renkler oluşturuluyor
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 399, 29, $white);

    // güvenlik için 5 karakterli kod oluşturuyor
    $security_code = substr(md5(sha1(rand(0,999999999))), 0, 5);

    // kodu session'a kayıt ediyor
    $_SESSION["security_code"] = $security_code;

    // Font seçiliyor
    $font = 'Capthya.ttf';

    // Resim üzerine yazı ekleniyor
    // array imagettftext
    // resim, font Boyutu, döndürme oranı, Yatay Koordinat ,
    // Dikey Koordinat , Renk , FontTipi, Yazılacak Metin)
    imagettftext($im, 20, 0, 5, 25, $grey, $font, $security_code);
    // Yazıya gölge ekleneiyor
    imagettftext($im, 20, 0, 6, 26, $black, $font, $security_code);

    imagepng($im); //png jpeg'e göre daha temiz bir görüntü sağlıyor
    imagedestroy($im);
    ?>




    Bu da ikincisi. Kullanıcı bu dosyayı kullanacak. Adı çok da önemli değil ancak ben Capthya_Test.php dedim.
    kendine döndürdüğüm için formun action'ı ile aynı isimde olmalı...

     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    </head>
    <body>
    <?php
    session_start();

    if( isset($_POST['submit'])) {
    if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
    // Güvenlik kodu doğru ise yapılacaklar
    echo 'GÜVENLİK KODU DOĞRU';
    unset($_SESSION['security_code']);
    } else {
    // Güvenlik kodu yanlış ise yapılacaklar
    echo 'GÜVENLİK KODU YANLIŞ';
    }
    } else {
    ?>

    <form action="Capthya_Test.php" method="post">
    <img src="Capthya.php" /><br />
    <label for="security_code">Güvenlik Kodu: </label>
    <input id="security_code" name="security_code" type="text" /><br />
    <input type="submit" name="submit" value="Submit" />
    </form>

    <?php
    }
    ?>
    </body>
    </html>



    < Bu mesaj bu kişi tarafından değiştirildi gergozen -- 14 Şubat 2011; 0:41:10 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.