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
Cookie koruma yontemleri
11
●839
- 12-08-2010, 14:21:25
- 12-08-2010, 14:59:44Üyeliği durduruldusdemirkeser 'in güvenlik eğitim seti'ni tavsiye ederim. çok uygun fiyata hemde
- 12-08-2010, 17:42:17Üyeliği durduruldubu sorgu ile kullanici adı ve şifrenin aynı satırda olup olmadığına bakar mı ?xfabsx adlı üyeden alıntı: mesajı görüntüle
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:19vermez..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
Yanlış bu örnek..Levye adlı üyeden alıntı: mesajı görüntüle
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, 20:09:20
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:26eğer and değilde or yazsaydık verirdi fakat bu durumda vermezLevye adlı üyeden alıntı: mesajı görüntüle
- 12-08-2010, 20:59:58Ayrı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..