سلام دوستان.وقت بخیر
من یک سایتی نوشتم که داخل صفحات از get و post استفاده میکنم. به عنوان مثالی یکی از صفحاتم به این صورت هست. [برای نمایش لینک باید عضو شوید. ]
حالا وقتی که این id رو میگیرم و از طریق php میفرستم به فانکشنی که باهاش از دیتابیس فراخونی میکنم ولی قبلش میام با یک فانکشن دیگه که نوشتم اون مقدار id رو چک میکنم. به این صورت:
به عنوان مثال این قسمت select من هست


select * fron tbl_blog where id={$database->escape_value($id)}


حالا با تابع escape_value هم که داخل کلاس database هست میام همون مقدار id رو چک میکنم به این صورت عمل میکنه
public function escape_value($value) {
if ($this->real_escape_string_exists) {
if ($this->magic_quotes_active) {
$value = stripslashes($value);
}
$value = mysqli_real_escape_string($this->connection, $value);
} else {
if (!$this->magic_quotes_active) {
$value = addslashes($value);
}
}
return $value;
}



ولی باز با این حال مشکل sql injection دارم و یک هکری هم به ما پیام داد که دسترسی به دیتابیس های ما وجود داره و با sqlmap لیست دیتابیس های مارو فرستاده بود.
من چطوری میتونم جلوی این مشکل رو بگیرم. ممنون میشم راهنمایی بفرمایین.