kafco00
سه شنبه 03 تیر 1393, 10:42 صبح
سلام بر همگی زحمت کشان این تالار
دوستان یه سوال
من خیلی گشتم که بتونم sql injection رو در pdo مهار کنم
سایت ها quote() رو پیشنهاد کرده بودند اما این رو وقتی استفاده می کنم در مقدار گرفته شده از input دوتا تک کوتیشین قرار میده
'string'
که همین جوری هم وارد دیتابیس میشه. و مشکل داره
بعد تو سایت خود php.net خوندم که خود execute هم این کار رو می کنه
شبیه کد زیر
$db = new db();
$database = $db->connection();
$sql = $database->prepare("INSERT INTO news (title,catid,img,text,date) VALUES (:title,:catid,:img,:text,:date)");
$res = $sql->execute(array(
':title' => $this->title,
':catid' => $this->catid,
':img' => $this->img,
':text' => $this->text,
':date' => $this->dates
));
return $res;
الان این $sql->execute که من اومدم این طوری نوشتم همین پاک سازی sql injection رو انجام میده ؟
اگر کد بهتری هم هست ممنون میشم بیشتر راهنمایی کنید
سپاس گذارم
دوستان یه سوال
من خیلی گشتم که بتونم sql injection رو در pdo مهار کنم
سایت ها quote() رو پیشنهاد کرده بودند اما این رو وقتی استفاده می کنم در مقدار گرفته شده از input دوتا تک کوتیشین قرار میده
'string'
که همین جوری هم وارد دیتابیس میشه. و مشکل داره
بعد تو سایت خود php.net خوندم که خود execute هم این کار رو می کنه
شبیه کد زیر
$db = new db();
$database = $db->connection();
$sql = $database->prepare("INSERT INTO news (title,catid,img,text,date) VALUES (:title,:catid,:img,:text,:date)");
$res = $sql->execute(array(
':title' => $this->title,
':catid' => $this->catid,
':img' => $this->img,
':text' => $this->text,
':date' => $this->dates
));
return $res;
الان این $sql->execute که من اومدم این طوری نوشتم همین پاک سازی sql injection رو انجام میده ؟
اگر کد بهتری هم هست ممنون میشم بیشتر راهنمایی کنید
سپاس گذارم