CodeShot

آزمون SQL Injection

چند سؤال کوتاه درباره نحوه وقوع SQL Injection و راهکار قطعی مقابله با آن.

⏱ حدود 11 دقیقه · 7 سؤال · نمره قبولی 60٪ · بعد از ثبت، پاسخ درست هر سؤال به‌همراه توضیح نمایش داده می‌شود.

  1. 1.

    SQL Injection معمولاً از چه اشتباهی در کد سرچشمه می‌گیرد؟

  2. 2.

    در کد زیر که ورودی کاربر مستقیم داخل رشته کوئری الحاق شده، اگر مقدار `username` برابر `' OR '1'='1` باشد، شرط WHERE از نظر منطقی به چه چیزی ارزیابی می‌شود؟ (فقط بنویسید TRUE یا FALSE)

    string sql = "SELECT * FROM Users WHERE Name = '" + username + "'";
    // username = "' OR '1'='1"
    
  3. 3.

    استفاده از Parameterized Query (کوئری پارامتری) به‌جای الحاق رشته، راه‌حل استاندارد و مؤثر در برابر SQL Injection است.

  4. 4.

    استفاده از یک ORM (مثل Entity Framework) به‌طور پیش‌فرض چه سطحی از محافظت در برابر SQL Injection ارائه می‌دهد؟

  5. 5.

    کدام کد زیر در برابر SQL Injection ایمن است؟

  6. 6.

    کدام موارد به کاهش ریسک SQL Injection کمک می‌کنند؟ (چند گزینه)

  7. 7.

    فرار دادن کاراکترهای خاص (Escaping) ورودی کاربر همیشه به‌اندازه Parameterized Query قابل‌اتکا و ساده برای پیاده‌سازی صحیح است.

0 از 7 سؤال پاسخ داده شده