• 14-11-2022, 21:00:56
    #10
    trgino adlı üyeden alıntı: mesajı görüntüle
    yorumları okuyunca dondum kaldım. cahillik tamamda yarı cahillik başa bela.
    intval kontrolu ile hiçbir güvenlik açığı olmaz.
    engelle.php?id=25 olarak varsayıyorum
    if(isset($_GET['id']) && intval($_GET['id'])>0){
    //bu kontrolden sonra intval($_GET['id']) olarak gonul rahatlığıyla kullanabilirsiniz.
    // örnek vermek gerekirse : $db değişkenini mysql bağlantınız olarak varsayıyorum.
    $db->where( 'id', intval($_GET['id']) )->update('tablo', [
    'deger' => 'r10',
    'durum' => 1
    ]);
    }
    bu kontrolleri daha kolay yapabilmeniz için
    https://github.com/Wixel/GUMP kullanmanızı tavsiye ederim.
    kolaylıklar.
    Addslashes yada htmlspecialchars kontrolü vb yapmaya gerek var mı?
  • 14-11-2022, 21:23:06
    #11
    Mustafa1379 adlı üyeden alıntı: mesajı görüntüle
    Addslashes yada htmlspecialchars kontrolü vb yapmaya gerek var mı?
    integer yazı rakamlar gerek yok.
    örneğin engelle.php?id=mahtmut25 olarak olsa bile addslahes filan gerek yok.
    id den gelebilecek degeler sadece harf ve rakam bunun kontrolunu zaten php size vermiş
    if(isset($_GET['id']) && ctype_alnum($_GET['id']) ) {
    
    }
    isset - > get te id diye bir değişken var mı kontrolu
    ctype_alnum -> değer alphanumerik mi yani harflarden ve rakamalar mı oluşuyor, oluşmuyorsa false gelir condition çalışmaz.
    intval -> bir önceki cevabımda kullanmıştım, değeri integer a dönüştür , dönüştürken sonra da 0 dan büyük kontrolu yapışmıştık. rakam olmayan değerlerin intval dan false olarak yani 0 olarak çıkar dolaysıyla intval ile 0 dan büyük kontrol u yaptığınızda içinden 0 dan büyük değer çıkmaz condition çalışmaz
  • 14-11-2022, 22:20:53
    #12
    trgino adlı üyeden alıntı: mesajı görüntüle
    yorumları okuyunca dondum kaldım. cahillik tamamda yarı cahillik başa bela.
    intval kontrolu ile hiçbir güvenlik açığı olmaz.
    engelle.php?id=25 olarak varsayıyorum
    if(isset($_GET['id']) && intval($_GET['id'])>0){
    //bu kontrolden sonra intval($_GET['id']) olarak gonul rahatlığıyla kullanabilirsiniz.
    // örnek vermek gerekirse : $db değişkenini mysql bağlantınız olarak varsayıyorum.
    $db->where( 'id', intval($_GET['id']) )->update('tablo', [
    'deger' => 'r10',
    'durum' => 1
    ]);
    }
    bu kontrolleri daha kolay yapabilmeniz için
    https://github.com/Wixel/GUMP kullanmanızı tavsiye ederim.
    kolaylıklar.
    kekw