آموزش SQL | جلوگیری از Injection یا تزریق SQL

تزریق SQL یک تکنیک تزریق کد است که می تواند دیتابیس شما را نابود کند. این تکنیک یکی از تکنیک های بسیار مرسوم هک در وب است.

تزریق SQL معمولاً زمانی رخ می دهد که شما از کاربر می خواهید که اطلاعات خود مثل نام کاربری و … را از طریق تگ input برای شما ارسال کند. و کاربر به جای اطلاعات معمولی، یک دستور SQL را برای شما ارسال می کند و شما نیز اشتباهاً هنگام ذخیره اطلاعات کاربر در دیتابیس، آن دستور را در دیتابیس خود اجرا می کنید.

به مثال زیر دقت کنید. در مثال زیر از کاربر یک UserId درخواست می شود و چیزی که کاربر ارسال می کند، به شکل عادی توسط یک دستور SELECT در دیتابیس جستجو می شود:

txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId;

تا اینجا ظاهراً مشکلی نیست، اما در ادامه بررسی می کنیم که چه خطرات بالقوه ای در این حالت وجود دارد.

پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3
  • 4
  • 5