Aspire
Koineks
  • 20-08-2007, 20:24:45
    #1
    1/2
    Arkadaşlar Güvenlik kodu uygulaması yapıyorum fakat olmuyor
    doğruyu yazsam bile güvenlik kodu yanlış diyor
    kodları inceler misiniz?
    yardım eden herkese teşekkürler

     
    <form method="POST" action="index.php?kod=dogrulama">
    <p>
     <?php
     $g_kodu = rand(100000,999999); 
     ?>
      <input type="text" name="gkod" size="20"></p>
      <p><input type="submit" value="Gönder" name="B1"></p>
    </form>
    <?php
    $sayfa = $_REQUEST["kod"];
    $kod = $_REQUEST["gkod"];
    if($sayfa=='dogrulama'){
    if($kod=='$g_kodu'){
    echo "Kod doğru";
    }else{
    echo "kod yanlış";
    }
    }
    ?>
  • Sponsor Reklam
  • 20-08-2007, 20:37:14
    #2
    1/2
    if($kod==$g_kodu){

    burayı böyle yap

    bi istüne

    echo $g_kodu;

    yaz bakim ne geliyo.
    ?
  • 20-08-2007, 20:47:12
    #3
    1/2
    $_REQUEST kullanma, onun yerine $_GET yada $_POST kullan;
    session çalıştırıyorsan session_start(); unutma;
    session tanımlarken $_SESSION['xx'] = "dssdaf";
    kullan

    bunu sayfada gösterirken de
    $_SESSION['xx'] kullan bi sorun yaşamaman lazım
    Üstün Performanslı SSD VPSler | Üstün-Kaliteli Web Hosting | 7/24 Destek
  • 20-08-2007, 21:01:56
    #4
    1/2
    Takılırsan şuraya 1 göz at istersen
    http://www.r10.net/php/65986-php-cap...tml#post710137
  • 20-08-2007, 21:19:15
    #5
    1/2
    Arkadaşlar dediklerinizi yaptım fakat sonuç alamadım
    kodumu düzenleyecek birisi varsa çok sevinirim
    teşekkürler
  • 20-08-2007, 21:32:50
    #6
    1/2
    index.php her açıldığında kodu tekrar üretiyor ve bir önceki gelen kod ile karşılaştırıyor. Eski kodu yeni sayfaya kullanıcının müdahale edemyeceği bir şekilde taşıman lazım. Session ile yapılmış hali üstte verdiğim adreste mevcut.
  • 21-08-2007, 00:06:16
    #7
    1/2
    tmm teşekkürler ama bana daha basit bişey lazım
    daha küçük kod lazım benim kodumu düzenlerseniz çok sevinirim
    teşekkürler..
  • 21-08-2007, 00:22:46
    #8
    1/2
    anlamadığım şey kodu resme yazdırmadığın için almak istediğin güvenlik önmeli suistimal edilebilinir.

    PHP- Kodu:
    <?php

    create_image
    ();
    exit();

    function 
    create_image()
    {
       
        
    $md5 md5(rand(0,999)); 
        
    $pass substr($md5105);

        
    $width 100;
        
    $height 20
     
        
    $image ImageCreate($width$height); 
      
        
    $white ImageColorAllocate($image255255255);
        
    $black ImageColorAllocate($image000);
        
    $grey ImageColorAllocate($image204204204);
     
        
    ImageFill($image00$black);
       
        
    ImageString($image3303$pass$white);
        
        
    ImageRectangle($image,0,0,$width-1,$height-1,$grey); 
        
    imageline($image0$height/2$width$height/2$grey);
        
    imageline($image$width/20$width/2$height$grey); 
       
        
    header("Content-Type: image/jpeg");
       
        
    ImageJpeg($image);
        
        
    ImageDestroy($image);
    }
    ?>
    ayrıca session kullanıyorsa kodun başlangıcına session_start(); eklemeyi unutma.

    karışık geldi anlamadım diyorsan şunu kullan.
    ___________________________
    index.php
    PHP- Kodu:
    <?php

    session_start
    ();  

    $resim_kodu=""

    function 
    rasgele() { 

          
    $gecici_deger mt_rand(1,3); 

      

          switch (
    $gecici_deger) {

              case 
    1:


              
    $gecici_deger mt_rand(97122);
             

              break;

              case 
    2:


              
    $gecici_deger mt_rand(4857);
             

              break;

              case 
    3:


              
    $gecici_deger mt_rand(6590);


              break;

           }


           return 
    chr($gecici_deger);

    }


    for (
    $i 1$i <= 4$i++) {

                 
    $resim_kodu.= rasgele();

    }

     

    $_SESSION['guvenlik_kodu'] = $resim_kodu;


     

    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?'
    ;


    echo 
    session_id();  


    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;

    resim.php
    PHP- Kodu:
    <?php

    session_start
    ();

    $guvenlik_kodu$_SESSION['guvenlik_kodu'];


    $resim=imagecreate(100,40);


    $resim_siyah imagecolorallocate($resim,0,0,0);

    $resim_beyaz imagecolorallocate($resim,255,255,255);


    imagefill($resim,0,0,$resim_siyah);



    imagechar($resim,4,20,13,$guvenlik_kodu[0],$resim_beyaz);

    imagechar($resim,5,40,13,$guvenlik_kodu[1],$resim_beyaz);

    imagechar($resim,3,60,13,$guvenlik_kodu[2],$resim_beyaz);

    imagechar($resim,4,80,13,$guvenlik_kodu[3],$resim_beyaz);

    header('Content-type: image/png');

    imagepng($resim);

    ?>
    kontrol.php
    PHP- Kodu:
    <?php


    session_start
    ();

    $girilen_kod $_POST['kod'];


    $guvenlik_kodu=$_SESSION['guvenlik_kodu'];



    if (
    $girilen_kod == $guvenlik_kodu) {

           echo 
    'çok beceriklisiniz. doğru kodu girdiniz.';

    }

    else {

           echo 
    'güvenlik kodu hatalı';

    }


    session_unset();

    session_destroy();

    ?>

    GD kütüphanesiin unutma
  • 21-08-2007, 01:00:24
    #9
    1/2
    Hocam teşekkürler ama basit bir kontrol istiyorum
    Bunun suistimal edilebileceğini de sanmıyorum
    Yani Resimli falan değil kod gözükse yeter ilgilenen herkese teşekkürler...