Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

sahte cookie önlemi

Konu, 'PHP' kısmında desertsun tarafından paylaşıldı.

  1. desertsun

    desertsun Üye

    Kayıt:
    29 Ekim 2007
    Mesajlar:
    210
    Beğenilen Mesajlar:
    0
    arkadaşlar şimdi benim portalın üyelik sistemi cookie özelliklidir ama duyduma göre sahte cookie ile arkadaşlar giriş yapabiliyorlarlar hic üye olmadan bunun önüne nasıl gecerim acaba.. cookie nni güvenliğini nasıl sağlarım acaba..
     
  2. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    uye oturumu kapattıktan sonra cookileri sil...yada uye olmayan biri genelde adres satırında ki acıktan girebilir sisteme...md5 kullanmanı tavsiye ederim...
     
  3. desertsun

    desertsun Üye

    Kayıt:
    29 Ekim 2007
    Mesajlar:
    210
    Beğenilen Mesajlar:
    0
    adres satırındaki acık nedir ve neyi md5 licem bunu biraz daha detaylı acıklarmısn kardeş........
     
  4. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    mesela soyle bir seyden bahsedeyim sana

    adres satırını get yontemiyle alan biri ;

    bir kullanıcı giriş yapmış
    www.asd.com/login.php?username=test&password=123456


    saldırgan ise ;

    www.asd.com/login.php?username=test&password=' or 1=1 '


    su sekilde yazarak degistirebiliyor.
    bunun icin


    mysql_real_escape_string() fonksyonu ile düzeltilebilir bu sorun.

    formdan gelen kullanıcı adı ve şifreyi
    Kod:
    <?php
    $rs = "'select * from kullanicilar where username='.$_post["username"].' and password='.$_post["passwd"].'';
    ?>

    bu şekilde sorgularsanız sql injection ından haberi olan arkadaş passwors kutusuna ' or ''=' girdiğinde sorgu

    Kod:
    <?php
    $rs = select * from kullanicilar where username='admin' and password='' or ''[COLOR=#007700]=[COLOR=#dd0000]''
    [COLOR=#0000bb]?>
    bu hali alacaktır ve zarar verilecektir. fakat md5 kullanırsanız.

    Kod:
    [COLOR=#0000bb]<?php

    $sql[COLOR=#007700]=[COLOR=#dd0000]'select * from kullanicilar where username='[COLOR=#007700].[COLOR=#0000bb]$_post[COLOR=#007700][[COLOR=#dd0000]"username"[COLOR=#007700]].[COLOR=#dd0000]' and password='[COLOR=#007700].[COLOR=#0000bb]md5[COLOR=#007700]([COLOR=#0000bb]$_post[COLOR=#007700][[COLOR=#dd0000]"passwd"[COLOR=#007700]]).[COLOR=#dd0000]''[COLOR=#007700];

    [COLOR=#0000bb]?>

    arkadaş şifre olarak ' or ''=' girdiğinde sorgu

    Kod:
    select * from kullanicilar where username='admin' and password='6d0212caf1488446bc079f6e150db606'


    bu hali alacaktır ve şifreniz ' or ''=' değilse bu saldırıdan kurtulmuş olacaksınız.



    ............................................................


    md5 ile de veritabanında ki şifrelerin ele gecirilmemesi için php nin guvenlik onlemidir.
    mutlaka md5 ile şifrelemeniz şart değil tabi ama...mesela cookilerde problem yasamamak icin mutlaka cookileri silin ve mutlaka


    bilgileri $_POST İle almaya dikkat edin...
    mesela stripslashes komutunu bolca kullanın


    orm sayfalarından alınan verilerde bazen karakter gurupları kullanılabiliyor
    bunları önlemek amacıyla kullanılan komutlardan bir tanesi

    stripslashes komutu ; bu komut Karakter dizisindeki saklı karakterin başındaki \ işaretini kaldırır.

    misal ad ve kullaniciadi ni post yöntemiyle almak için söyle kullanmanız gerekmektedir.


    [B]$ad = stripslashes($_POST['ad']);
    $kullanici = stripslashes($_POST['kullanici']);


    if(empty($ad) || empty($kullanici) ) {[/B]


    şeklinde devam etmelisiniz...



    mysql_real_escape_string fonksiyonu kullanarak vt ye bilgi kaydetmek icinde mutlaka soyle kullanın;



    [QUOTE]$icerik = mysql_real_escape_string($_POST[icerik]);
    insert into tablo values ('','$icerik');



    function pnr($param)
    {
    return trim(mysql_real_escape_string($param);
    }
    [/QUOTE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR]
     
  5. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    Sanırım yıllar önce kodlama yaptınız yada bilmeden konuşuyosunuz GET ile işlem yapan üyelik sistemi kaldı mı ki? MD5 kullanmanızı tavsiye ederim ancak bunun nedeni sadece mysql'deki verilerinizi bir adım daha güvene alabilmektir.

    IP koruması ile halledebilirsiniz istediğinizi. Birçok kez tartışıldı bu konular arama yaparak bulabilersiniz
     
  6. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad


    kardes bunu sen biliyorsun...bilmeyen tonla insan var
    anlatmakta fayda var yine de...
     
  7. desertsun

    desertsun Üye

    Kayıt:
    29 Ekim 2007
    Mesajlar:
    210
    Beğenilen Mesajlar:
    0
    zaten benimki hem kayıtlarken hemde sorgularken md5 li yapıyor işlemleri..
     
  8. xian_Servers

    xian_Servers Daimi Üye

    Kayıt:
    13 Mayıs 2007
    Mesajlar:
    506
    Beğenilen Mesajlar:
    0
    Meslek:
    Sayısalda Test :(
    Şehir:
    Localhost
    sql injection artık tarihte kalma aşamasında ama yinede basit sistemlere veya çok gelişmiş sistemlere farketmiyor etkileyebiliyor....
     
  9. sineld

    sineld Daimi Üye

    Kayıt:
    30 Eylül 2005
    Mesajlar:
    2,075
    Beğenilen Mesajlar:
    0
    Meslek:
    Coder, Bilgi İşlemci, Satınalma
    Şehir:
    Bursa, Türkiye
    verilen yanıtlar yanlış olabilir, burası sonuçta bir forum. siz yanıtı tartışacağınıza en iyi bildiğiniz yöntemleri yazın.

    çözümün bir parçası olamıyorsanız bari sorunun bir parçası olmayın.

    arkadaşım, attığın çerezleri şifrele. böylece içeriğinin ne olduğunu kimse bilemez. mesela $sifre atacağına md5(sha1(md5($sifre))); şeklinde kullanıp bunu çereze. bunun geri açılımı olmadığı için denetimi de aynı şekilde yapman gerekecek.
     
  10. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    bende md5 kullan dedim zaten...artı olarak sistem zayıflılıklarıyla ilgili bilgi vermeye calıstım...hepsi bu kadar.

    saygılar
     
  11. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    Verilen yanıtın yanlış olduğunu bildirmek zorundayız ki soruyu soran yanlış yönlenmesin
     
  12. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    neresi yanlıs
     
  13. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    evet bigsnow cok bilgili bir hocamız olarak verdigim sql injection bilgisinin neresi yanlıs...
    verilen bilgi yanlıs degil...sorunun istenen cevabı olmayabilir..arasında daglar kadar fark var hatırlatmamı istemezsin umarım...yaklasım tarzın hos degil...
     
  14. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    BEn zaten senin cevabın yanlış demedim ki. Senin cevabın doğru ancak boşuna yazıyormuşsun gibi geldi GET ile üyelik bilgilerinin gönderildiği tarih nerdeyse 5 sene öncesine dayanır. Ben sineldin cevabına alıntı yaptım yanlış diye bişey sölemedim cevabın dogru ancak arkadaşın sordugu bambaşka birşey senin verdiğin cvp bambaşka birşey... Arkadşa cookie sistemi soruyor sen SQL injection cevabı veriyosun
     
  15. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    tamam o konuda sana katılıyorum belki ilgisiz olabilir ama...sonucta md5 de dedim zaten...neyse abartmıyalım bosver...
     
  16. sineld

    sineld Daimi Üye

    Kayıt:
    30 Eylül 2005
    Mesajlar:
    2,075
    Beğenilen Mesajlar:
    0
    Meslek:
    Coder, Bilgi İşlemci, Satınalma
    Şehir:
    Bursa, Türkiye
    verilen yanlış yanıtların tartışması, konunun çözümüne gölge düşürür hale geliyor. müdahele etmem sebebim budur.
     
  17. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    tamam ben kabul ediyorum yanlıs degil ama (cunku yanlıs demek verdigin bilgi yalan yanlıs demek...oyle bir sey yok demek...bu da bana hakaret olur) konuyla ilgisiz olabilir...kapatıyorum konuyu...md5 dedim zaten arkadasa...bunda hemfikir oldugumuza gore; tartıscak bir sey yok.