عنوان:

‫راهنمای مایکروسافت در مورد مقابله با SQL Injection


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


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

نظرات

  • پیمان رشیدی در ۱۳۹۲/۰۴/۳۱ ۱۴:۱۵
    با سلام؛

    من یک Function برای جلوگیری از  SQL Injection  برای خودم نوشتم می‌خواستم بدونم چند درصد میتونه کارساز باشه ؟ هر متنی که از کاربر گرفته میشه اول وارد این Function  میشه و پاک سازی میشه
    ممنون میشم نظرتون رو بفرمائید
       Public Function sqlinj(ByVal text As String) As String
            text = Strings.Replace(text, "'", "")
            text = Strings.Replace(text, ",", "")
            text = Strings.Replace(text, "+", "")
            text = Strings.Replace(text, "&", "")
            text = Strings.Replace(text, "=", "")
            text = Strings.Replace(text, "%", "")
            text = Strings.Replace(text, ":", "")
            text = Strings.Replace(text, ";", "")
            text = Strings.Replace(text, "select", "")
            text = Strings.Replace(text, "delete", "")
            text = Strings.Replace(text, "insert", "")
            text = Strings.Replace(text, "update", "")
            text = Strings.Replace(text, "where", "")
            text = Strings.Replace(text, "union", "")
            text = Strings.Replace(text, "alter", "")
            text = Strings.Replace(text, "drop", "")
            text = Strings.Replace(text, "%", "")
            text = Strings.Replace(text, "_", "")
            Return text
        End Function

    • وحید نصیری در ۱۳۹۲/۰۴/۳۱ ۱۴:۲۹
      این روش‌ها مربوط به سال‌های پیش از ORMها بود. الان وضع خیلی فرق کرده:
      امنیت در LINQ to SQL (در مورد سایر ORMها هم صادق است) 
      • پیمان رشیدی در ۱۳۹۲/۰۴/۳۱ ۱۵:۵۱
        ممنون؛ تو پروژه‌های دیگه از linq  استفاده کرده‌ایم حتی تو این پروژه در جاهایی از کوئری پارامتریک استفاده شده بنا به نیاز نمی‌خوایم وقتی برای این پروژه بگزاریم چون قدیمی است می‌خواستم بدونم چقدر تاثیر گذاره این روش ؟
        یک گروهی قصد سو استفاده دارند و تونستن وارد دیتابیس بشن می‌خواستیم جلوشونو بگیریم.
        • وحید نصیری در ۱۳۹۲/۰۴/۳۱ ۱۷:۴
          نیاز به code review دارید و از راه دور نمیشه پاسخ دقیق به شما داد.
          + الزامی نداره که حتما مشکل تزریق اس کیوال سبب بروز این مساله شده. ممکن است تونسته باشند به web.config شما دسترسی پیدا کنند.
          + روش کاملتر برای مقابله با ورودی‌های خطرناک: در اینجا