عنوان:

‫خطر SQL injection هنگام استفاده از ORM و SP


نویسنده: محمد صاحب
تاریخ: ۱۳۹۱/۰۹/۲۷ ۱۵:۴۰
آدرس: www.dntips.ir


مشاهده مطلب اصلی

نظرات

  • وحید نصیری در ۱۳۹۱/۰۹/۲۷ ۱۶:۲۹
    این مطلب از لحاظ محتوا ایراد دارد. کوئری‌های LINQ در ORMها نهایتا تبدیل به SQL می‌شوند و روی بانک اطلاعاتی اجرا خواهند شد. این اجرا هم توسط sp_executesql انجام می‌شود که کاملا متفاوت است از مثال به عمد بی‌ربط فراخوانی exec ساده روی یک رشته، در مقاله فوق. sp_executesql پارامتری عمل می‌کند و همانند exec ساده، جمع زدن یک سری رشته نیست.
    خلاصه مطلب فوق به بیانی بهتر:
    اگر شما یک رویه ذخیره شده دارید که داخلش از exec ساده استفاده شده، فرقی نمی‌کند که از ORM استفاده می‌کنید یا نه، یا هر حالت دیگری. این روش نا امن است.
    • محمد صاحب در ۱۳۹۱/۰۹/۲۷ ۱۶:۴۶
      درسته که نویسنده مطلب به عمد اون مثال رو گفته ولی حتما هستن کسایی که این اشتباه رو میکنن مثلا همون دوستانی که بخاطر استفاده از SP از ORM استفاده نمیکنن و...