رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
sql injection
#1
سلام
این سوال هم ب بخش امنیت در php مربوط میشه و هم به بخش دیتابیس.
ولی ب نظر من ب بخش دیتابیس زیاد تر ربط داره به همین خاطر تو این بخش میپرسم.
در مورد دستورات sql injection باید خیلی مراقب ورودی باشیم و همین طوری که از ورودی تحویل گرفتیم مستقم سر دیتابیس نبریم.

اول اینکه از تابع mysql_escape_string() یا pdo ساتفاده کنیم.

دوم اینکه همیشه در جستجو مثل روش زیر از '' استفاده کنیم.
$id=$_GET['id'];
$res=$pdo->prepare("SELECT * from `one` where `id`='$id' ");

سوم اینکه
اگه ورودی مد نظرمان عددی است حتما از تابع زیر استفاده کنیم تا خیالمات راحت شود.
intval

اگه میشه روش های دیگرو هم دوستان معرفی کنن تا اطلاعاتمان کاملتر شود.
خیلی ممنون
پاسخ
تشکر شده توسط:
#2
در این روش pdo من چطوری میتونم از '' استفاده کنم.
$id=$_GET['id'];
$res=$pdo->prepare("SELECT * from `one` where `id`=:id ");
$res->execute(array(':id'=>$id));
$re=$res->fetchAll(pdo::FETCH_ASSOC);
من تو جایی میخوندم که تو دستور where حتما باید از '' استفاده کنیم.
مرسی
پاسخ
تشکر شده توسط:
#3
نیازی نیست. خودش کوتیشن رو اضافه میکنه.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان