• 09-03-2021, 20:29:55
    #1
    Ben genellikle aşağıda gördüğünüz kodu kullanarak veritabanından bir şey seçerim, eklerim veya düzenlerim.
    Fakat Sql Injection koruması olarak ne yapabilirim ?
    Bir tane fonksiyon kullanıyorum (select, union, ', ", where ) vb kelimeleri temizliyor değişkenden fakat editör kullanırken çift tırnağı kaldırdığı için istediğim sonucu alamıyorum.
    Nasıl çözebilirim acaba?
  • 09-03-2021, 20:33:18
    #2
    Ekmek_Canavari adlı üyeden alıntı: mesajı görüntüle
    Ben genellikle aşağıda gördüğünüz kodu kullanarak veritabanından bir şey seçerim, eklerim veya düzenlerim.
    Fakat Sql Injection koruması olarak ne yapabilirim ?
    Bir tane fonksiyon kullanıyorum (select, union, ', ", where ) vb kelimeleri temizliyor değişkenden fakat editör kullanırken çift tırnağı kaldırdığı için istediğim sonucu alamıyorum.
    Nasıl çözebilirim acaba?
    Merhaba BindParam Kullanmanızı şiddetle tavsiye ederim hatta mümkünse hiçbir yerde query functionu kullanmayın güvenli olması açısından Ayrıca kod uzun geldiyse Class haline getirebilir daha kolay kullanım yapabilirsiniz
    $select=$db->prepare("SELECT * FROM users WHERE id=:id");
    $select->bindParam(":id",$id);
    $select->execute();
    $users=$select->fetch(PDO::FETCH_ASSOC);
  • 09-03-2021, 20:39:02
    #3
    Ekmek_Canavari adlı üyeden alıntı: mesajı görüntüle
    Ben genellikle aşağıda gördüğünüz kodu kullanarak veritabanından bir şey seçerim, eklerim veya düzenlerim.
    Fakat Sql Injection koruması olarak ne yapabilirim ?
    Bir tane fonksiyon kullanıyorum (select, union, ', ", where ) vb kelimeleri temizliyor değişkenden fakat editör kullanırken çift tırnağı kaldırdığı için istediğim sonucu alamıyorum.
    Nasıl çözebilirim acaba?
    query içerisinde tırnak kullanmadığınız sürece bir sıkıntı oluşmaz pdo nun amacı bu zaten execute içerisinde koruyor, isterseniz strip_tags(), trim() gibi fonksiyonlarda kullanılabilir.
  • 09-03-2021, 20:48:19
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    pdo olarak yapın hocam örnek olarak kendi sistemimden atıyorum size düzenlersiniz
    $about = $cagatay->query("SELECT * FROM mainabout where status='1' order by id ASC LIMIT 0,5")->fetchALL(PDO::FETCH_ASSOC);
    foreach($about as $page1)

    $content = $page1["content"];
    $videolink = $page1["videolink"];
  • 09-03-2021, 20:56:02
    #5
    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Merhaba BindParam Kullanmanızı şiddetle tavsiye ederim hatta mümkünse hiçbir yerde query functionu kullanmayın güvenli olması açısından Ayrıca kod uzun geldiyse Class haline getirebilir daha kolay kullanım yapabilirsiniz
    $select=$db->prepare("SELECT * FROM users WHERE id=:id");
    $select->bindParam(":id",$id);
    $select->execute();
    $users=$select->fetch(PDO::FETCH_ASSOC);
    Birden fazla değişkeni gönderebileceğim class ı fonksiyonu atabilir misiniz.
  • 09-03-2021, 20:57:59
    #6
    Ekmek_Canavari adlı üyeden alıntı: mesajı görüntüle
    Birden fazla değişkeni gönderebileceğim class ı fonksiyonu atabilir misiniz.
    Merhaba bu konuya istinaden bilgilendirme amacı ile mysql güvenliği ile alakalı bir konu açacağım konuyu yazıyorum şuanda bittikten sonra paylaşacağım en yapılan hatalarla birlikte
  • 09-03-2021, 21:08:25
    #7
    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Merhaba bu konuya istinaden bilgilendirme amacı ile mysql güvenliği ile alakalı bir konu açacağım konuyu yazıyorum şuanda bittikten sonra paylaşacağım en yapılan hatalarla birlikte
    Paylaştığınız zaman alıntılayarak linki atabilir misiniz
  • 09-03-2021, 21:15:57
    #8
    Ekmek_Canavari adlı üyeden alıntı: mesajı görüntüle
    Paylaştığınız zaman alıntılayarak linki atabilir misiniz
    Tabi hocam bir çok detaya yer vermek istiyorum biraz sürebilir bitince alıntılarım
  • 09-03-2021, 22:05:41
    #9
    Ekmek_Canavari adlı üyeden alıntı: mesajı görüntüle
    Paylaştığınız zaman alıntılayarak linki atabilir misiniz
    https://www.r10.net/php/2732583-php-...post1079601103