• 30-10-2008, 18:04:39
    #19
    regex ile süzme yapmanız yeterli,

    sayıları : ([0-9]+)

    sayı harf ve boşlukları : [^0-9A-Za-zİıçÇşŞğĞüÜöÖ[:space:]]
  • 30-10-2008, 18:57:04
    #20
    obidergi adlı üyeden alıntı: mesajı görüntüle
    \ karakteri ne anlama geliyor? Kaçış karakterlerine dikkat edin demiştim yukarıda.
    Verdiğim linklerdeki makalelere bakarsanız (ve araştırırsanız) sql cümleciklerinin kaçış karakterleri ile atlatıldığını farkedebilirsiniz.
    Kusuta bakmayın ama ya deneme yapmadan konuşuyorsunuz, yada php bilginiz yok.

    addslashes fonksiyonunu kullandığınız zaman zararlı karakterler escape ediliyor!..

    1. PHP de mysql_query içine 2 sql kodu yerleştirilemiyor (Select ile Drop sql kodunu ; ayırarak yazdım ve hata verdi.).
    2. addslashess tek başına yeter. Neden mi ?
    Örnek;
    $veri="'' // \\ ' ' \" ";
    echo addslashes($veri);
    Görünüyor ki zararlı karakterleri escape etti ve verimiz ' ' arasından kaçamıyor.

    İlk önce deneyin sonra cevap yazın. Boşuna mesaj kalabalığı oluyor
  • 02-01-2014, 00:25:06
    #21
    mustafa90 adlı üyeden alıntı: mesajı görüntüle
    Tekrar yazıyorum, kısa ve ÖZ
    <?
    echo addslashes($_GET['abc']);
    ?>
    Eğer hala sql injectiondan korunmak için bişiler arıyorsanız, hiç bir şey demiyorum.
    ben bu kodu include edersem sorun ortadan kalkarmi yani tesekkurler.
  • 02-01-2014, 13:05:50
    #22
    PDO Teknolojilerine geçersen açık maçık yemez. PDO'daki Prepare ve Execute fınksiyonlaarı açık oluşturabilecek her türlü sorguyu temizlemektedir. PHP'nin üreticileri de artık mysql ile başlayan fonksiyonları desteklemediklerini ve geliştirilmesinin durdurulduğunu söyledi. Bunun yerine mysqli yada PDO Kullanmayı öneriyorlar.
  • 02-01-2014, 21:38:52
    #23
    htmlspecialchars(mysql_escape_string(trim($_GET["id"]))) şeklinde yaparsanız hem xss hem sql'e karşı koruma sağlarsınız.
  • 01-04-2014, 01:44:38
    #24
    Üyeliği durduruldu
    Bay_Keskin adlı üyeden alıntı: mesajı görüntüle
    PDO Teknolojilerine geçersen açık maçık yemez. PDO'daki Prepare ve Execute fınksiyonlaarı açık oluşturabilecek her türlü sorguyu temizlemektedir. PHP'nin üreticileri de artık mysql ile başlayan fonksiyonları desteklemediklerini ve geliştirilmesinin durdurulduğunu söyledi. Bunun yerine mysqli yada PDO Kullanmayı öneriyorlar.
    Sen yenisin galiba?
  • 01-04-2014, 08:03:27
    #25
    Üyeliği durduruldu
    cehago adlı üyeden alıntı: mesajı görüntüle
    Sen yenisin galiba?
    merak ettim prepare-execute ile yazılmış bir sorguda nasıl sql injection uygulanıyor. ? yeni sin yazacağınıza bildiğinizi yazar mısınız ?
  • 01-04-2014, 14:09:16
    #26
    Üyeliği durduruldu
    Quismo adlı üyeden alıntı: mesajı görüntüle
    merak ettim prepare-execute ile yazılmış bir sorguda nasıl sql injection uygulanıyor. ? yeni sin yazacağınıza bildiğinizi yazar mısınız ?
    Konu baya eski bilmiyorum sen ne düşünürsün
  • 01-04-2014, 14:29:18
    #27
    $id = htmlspecialchars(htmlentities(addslashes(trim($_GET["id"]))));
    
    // mysql_li kullandığın için kısaca şunu yazabilirsin.
    $id = mysql_escape_string($_GET["id"]);
    
    /*
    PDO, PDO, PDO !
    */
    • saintx
    • Quismo
    saintx ve Quismo bunu beğendi.
    2 kişi bunu beğendi.