Selamlar, SQL'de
$query = $db->query("SELECT * FROM tablo WHERE ip = '{$localip}'", PDO::FETCH_ASSOC); gibi data çekiyorum ve
$log = $db->prepare("INSERT INTO log SET ip = ?, durum = ?, tarih = ?");
$insert = $log->execute(array(
$saveip, "Sisteme kayitli degil", $date
)); gibi de veri yazıyorum sisteme, bu kodlardaki Injection açıklarını nasıl kapatabilirim bilgisi olan var mı?
Sorgu Yaparken Şu Şekilde Kullanabilirsin :
// Kullanıcıdan Gelen Bilgiyi Sorgulamak İstiyorsan Bunuda Ekle
$sutun = trim(htmlspecialchars(addslashes(stripslashes(strip_tags($_POST["sutun"])))))
$query = $db->prepare("SELECT * FROM tablo WHERE sutun like :sutun");
//String Veri Sorgulama
$query->bindParam(":sutun", $sutun, PDO::PARAM_STR);
//Integer veri Sorgulama
$query->bindParam(":sutun", $sutun, PDO::PARAM_INT);
$query->execute();
$info = $query->fetch(PDO::FETCH_ASSOC);
//Birden Fazla Tabloları Çekmek için bunu yap
$info = $query->fetchAll(PDO::FETCH_OBJ);Kayıt Yaparken ise Şöyle Kullanabilirsin:
// Kullanıcıdan Gelen Bilgiyi Kayıt Etmek İstiyorsan Bunuda Ekle
$sutun = trim(htmlspecialchars(addslashes(stripslashes(strip_tags($_POST["sutun"])))))
$create = $db->prepare("INSERT INTO tablo(sutun) VALUES (:sutun)");
//String Veri Kayıt
$create->bindParam(":sutun", $sutun, PDO::PARAM_STR);
//Integer veri Kayıt
$create>bindParam(":sutun", $sutun, PDO::PARAM_INT);
$create->execute();