• 12-08-2010, 14:21:25
    #1
    Merhabalar yeni yeni php öğreniyorum ve merak ettıgım bişi var ben sistemimi cookie ile giriş çkıs sağlarsam bazı açıklar olabiliyor bildiğim kadarıyla kullancıı bilgisyarında tutuldugundan verıler.ve ben kontrollerimi yaparken şöyle birşey kullanıyorum.
    Giriş yaptıktan sonra setcookie ile kullanıcı adına değer atıyorum ve onu $kullanici_adi atıyorum sonra.

    if($kullanici_adi==""){
    echo "kısıtlı alan";
    }else {
    echo "kullanici alani";
    }

    şeklinde bir kotrol yapıyorum internette baktım ama güzel birşey bulamadım nasıl bir koruma sistemi yapacagım acaba şimideden teşekkurler
  • 12-08-2010, 14:59:44
    #2
    Üyeliği durduruldu
    sdemirkeser 'in güvenlik eğitim seti'ni tavsiye ederim. çok uygun fiyata hemde
  • 12-08-2010, 15:40:07
    #3
    $kullanici=$_COOKIE[ad];
    $sifre=$_COOKE[sifre];
    $varmi=@mysql_num_rows(mysql_query("select * from uye where kullanici='$kullanici' and sifre='$sifre'"));
    if($varmi!="1"){
    echo "kısıtlı alan";
    }else {
    echo "kullanici alani";
    }
  • 12-08-2010, 17:42:17
    #4
    Üyeliği durduruldu
    xfabsx adlı üyeden alıntı: mesajı görüntüle
    $kullanici=$_COOKIE[ad];
    $sifre=$_COOKE[sifre];
    $varmi=@mysql_num_rows(mysql_querselect * from uye where kullanici='$kullanici' and sifre='$sifrey("'"));
    if($varmi!="1"){
    echo "kısıtlı alan";
    }else {
    echo "kullanici alani";
    }
    bu sorgu ile kullanici adı ve şifrenin aynı satırda olup olmadığına bakar mı ?
    yani üyeler tablosundaki "hasan" ın şifresi 123456 ise "ahmet" in şifresi domates ise,
    $kullaniciadi: hasan ve $sifre: domates için 1 vermez mi ?

    birde bu kod ile farkı nedir ? benim dediğimi yapan kod bu mu olur ?
    select * from uye where kullanici='$kullanici' and where sifre='$sifre'
  • 12-08-2010, 18:58:19
    #5
    Levye adlı üyeden alıntı: mesajı görüntüle
    bu sorgu ile kullanici adı ve şifrenin aynı satırda olup olmadığına bakar mı ?
    yani üyeler tablosundaki "hasan" ın şifresi 123456 ise "ahmet" in şifresi domates ise,
    $kullaniciadi: hasan ve $sifre: domates için 1 vermez mi ?
    vermez..Yani bu sorguda biz kullanıcı adı hasan ve şifresi domates olan arıyoruz buda olmadıgı için 0 dönecektir..Fakat kullanıcı adı hasan ve şifresi 123456 olan dersek bir döner..
    Levye adlı üyeden alıntı: mesajı görüntüle
    birde bu kod ile farkı nedir ? benim dediğimi yapan kod bu mu olur ?
    select * from uye where kullanici='$kullanici' and where sifre='$sifre'
    Yanlış bu örnek..
    Ayrıca 'or'da ise ve ya mantıgı vardır..Yani kullanıcı adı hasan ve ya şifresi domates olanları göster dersek iki sonuç döndürür.
  • 12-08-2010, 19:46:33
    #6
    Üyeliği durduruldu
    anladım hocam teşekkürler. konuyu dağıttığım için de özür dilerim.
  • 12-08-2010, 20:09:20
    #7
     function uyegirisi(){
     global $prefix;
     include("ust.php");
     $kullanici_adi=strip_tags(kodfilitrele($_POST['kullanici_adi']));
     $sifre=$_POST['sifre'];
     $msifre=md5($sifre);
    
     if(($kullanici_adi=="") or ($sifre=="")){
        echo "<script>
                            alert(\"HATA ! Kullanici Adiniz veya Sifreniz Bos\")
                            </script>";
    
                            echo "<br><center>Yönlendiriliyorsunuz <BR>Lütfen Bekleyin</center><br>";
                            header("Refresh: 2; url=index.php");
     }else {
     $sor=mysql_query("select kullanici_adi,sifre from ".$prefix."_uyeler WHERE kullanici_adi='$kullanici_adi' and sifre='$msifre'"); echo mysql_error();
     if(@mysql_num_rows($sor)>0){
     
     $sor=mysql_fetch_array(mysql_query("select*from ".$prefix."_uyeler WHERE kullanici_adi='$kullanici_adi' "));
     $kullanici_durumu=$sor['durum'];
     if( $kullanici_durumu=="0"){
     setcookie("kullanici_adi",$kullanici_adi,time()+60*60);
     echo "<center><b>Basarili Sekilde Giris Yapildi</b></center>";
       header("Refresh:1; url=sayfa.php?git=uyehesabi");
       }else{
       echo "<script>
                            alert(\"HATA ! Uyeliginiz Aktfi Değil\")
                            </script>";
    
                            echo "<br><center>Yönlendiriliyorsunuz <BR>Lütfen Bekleyin</center><br>";
                            header("Refresh:2; url=index.php");
       }
       
     }else {
      echo "<script>
                            alert(\"HATA ! Giris Yapilamadi Lutfen Tekrar Deneyin\")
                            </script>";
    
                            echo "<br><center>Yönlendiriliyorsunuz <BR>Lütfen Bekleyin</center><br>";
                            header("Refresh:2; url=index.php");
     }
    
    
     }
    include("alt.php");
    
     }
    ben uye girişi için boyle bir function oluşturdum ama dedıgınız gibi zaten kullanıcı adı ve şifreye bakıyorum mysqlden var olup olmadıklarına ama yeterlimidir bu kadar guvenlik ?
  • 12-08-2010, 20:53:26
    #8
    Levye adlı üyeden alıntı: mesajı görüntüle
    bu sorgu ile kullanici adı ve şifrenin aynı satırda olup olmadığına bakar mı ?
    yani üyeler tablosundaki "hasan" ın şifresi 123456 ise "ahmet" in şifresi domates ise,
    $kullaniciadi: hasan ve $sifre: domates için 1 vermez mi ?

    birde bu kod ile farkı nedir ? benim dediğimi yapan kod bu mu olur ?
    select * from uye where kullanici='$kullanici' and where sifre='$sifre'
    eğer and değilde or yazsaydık verirdi fakat bu durumda vermez
  • 12-08-2010, 20:59:58
    #9
    Ayrıca hocam cookie kişi tarafından değiştirelebilir..Bunun için cookieye giriş yapmış veya sadece kullanıcı adı gibi değerler atamayınız.Yerine kullanıcı adı ve şifreyi atayınız..hatta şifreyi md5leyip atınız..Böylece yeterince güvenli olacaktır..

    Ve her sayfada cookienin dogru olup olmadıgını etmelisin.Her zaman cookienn kullanıcı tarafından değiştirilebileceğini düşünerek kullan..umarım anlatabilmişimdir..