درباره نویسنده

15 دیدگاه

  1. مجتبی شهریور

    مجتبی شهریور

       سلام
    تشکر از مقاله خوبتون
    مهندس این کار باعت تزریق کدهای sql و ایجاد باگ sql injection نمیشه؟

    پاسخ
    1. محمد رضا موسائی سجزی

      محمد رضا موسائی سجزی

          با سلام خدمت دوست عزیز آقای مجتبی شهریور

      دوست من همانگونه در تصاویر مشاهده می نمائید در زمان اضافه شدن دو dll سطح دسترسی (Permission set)  بر روی Safe و External access می باشد و این امر باعث می شود که خود SQL Server  مدیریتی دقیق بر روی sql injection  و تزریق کدهای sql یا به نحوی موارد Hacking داشته باشد.
      این امر نه تنها باعث پایین آمدن امنیت نمی گردد بلکه امنیت تا حد چشم گیری بالا خواهد رفت.
      با تشکر
      پاسخ
      1. Hamid J. Fard

        Hamid J. Fard

           البته Permission_Set برای SQL Injection نیست. برای این است که کدی که شما در SQL CLR Assembly نوشته اید از منابع خارج از SQL Server مانند شبکه یا اختصاص حافظه خارج از AppDomain جلوگیری می کند.
      2. محمد رضا موسائی سجزی

        محمد رضا موسائی سجزی

         با سلام خدمت دوست عزیز آقای Hamid J.Fard
        در ابتدا از ریز بینی شما ممنونم بله به ظاهر اینگونه که عرض می کنید هستش ولی چند نکته ای عزیزم اینجا مطرح هست یکی اینکه سه نوع سطح دسترسی داریم (Safe, External Access و Unrestricted  ) 
        در مورد سطح دسترسی External Access  و  Unrestricted باید بگم که اگر تنها ارتباط با منابع خارج از MSSQL Server هدف باشد می توان از سطح دسرتسی Unrestricted نیز استفاده و بهره برد ولی تفاوتی که من با توجه به منابعی که مطالعه کردم در مورد سرویس ها و استفاده آن به این صورت این هست که تنها یکی از تفاوت ها در استفاده از External Access این می باشد که بر روی موارد Hacking نیز MSSQL Serverحساس بوده و نظارتی انجام می دهد. 
        منابع  مورد استفاده کتاب های Exam 70-482 , 70-483 می باشد.
        با تشکر از شما دوست عزیز
      3. محمد رضا موسائی سجزی

        محمد رضا موسائی سجزی

            شرمنده چون نتونستم نظر خود را ویرایش کنم مجبور شدم دوباره مطلب بذارم 

        منابع  مورد استفاده کتاب های Exam 70-462 , 70-463 می باشند که در پست قبلی اشتباه تایپ کرده بودم
      4. Hamid J. Fard

        Hamid J. Fard

           البته نظر بنده با شما 180 درجه فرق دارد به این صورت که SQL CLR یکی ربطی به SQL Injection ندارد و {Permission_set فقط برای امنیت CLR و AppDomain است.
        و External_Access موارد زیر را ارایه می دهد:

        DistributedTransactionPermission

        DNSPermission

        EnvironmentPermission

        EventLogPermission

        FileIOPermission

        KeyContainerPermission

        NetworkInformationPermission

        RegistryPermission

        SecurityPermission

        SmtpPermission

        SocketPermission

        SqlClientPermission

        StorePermission

        WebPermission

        و در آخر شما زیاد به کتابهای Training Kit مایکروسافت توجه نکه خیلی از مطالبی که نوشته شوده درست  نیست. اگر باور ندارید یک سرچ کنید.

      5. محمد رضا موسائی سجزی

        محمد رضا موسائی سجزی

        با سلام خدمت دوست عزیز آقای Hamid J.Fard

        از راهنمایی شما دوست عزیز ممنونم و سعی میکنم دامنه اطلاعاتی خودم را گسترش دهم و در کنار آن از منابع غیر Training Kit هم استفاده کنم.

        باز هم از راهنمایی جامعتون ممنون
  2. مجتبی شهریور

    مجتبی شهریور

    سلام
    تشکر از پاسخ حضرتعالی
    موفق باشید

    پاسخ
  3. شريف لطفي

    شريف لطفي

      بابت مقاله خوبتون ممنون

    از سایت نیک آموز میخوام اگه امکانش هست یک آموزش کاملا عملی با مثال کاذبردی و پروژه محور راجع به وب سرویس و ارسال پیامک به مدیر (ترجیحا راجع به تراکنشهای پرداخت بانکی) توی سایت قرار بدن
    پاسخ
    1. مسعود طاهری

      مسعود طاهری

          سلام شریف جان

      در خصوص این قضیه در دوره SQL Server ویژه برنامه نویسان آموزش های لازم ارائه داده شده است.
      استفاده از Service Broker و External Activation برای ارسال SMS دقیقا همین مثال در جلسه آخر پیاده سازی شده است.
      گزارش جلسه 15 دوره SQL Server ویژه برنامه نویسان را در سایت مطالعه کنید 
      پاسخ
      1. محمد رضا موسائی سجزی

        محمد رضا موسائی سجزی

        با سلام خدمت استاد ارجمند و بزرگوار جناب آقای طاهری
        بله امکان Service Broker از ورژن 2005 به MSSQL Server اضافه گشت ولی در آن زمان که من برای ورژن 2008 MSSQL Server داشتم این کار را انجام می دادم به مشکلی خوردم که نتونستم حلش کنم و به سراغ این روش رفتم و آن هم این هستش که در برخی سرویس ها به عنوان مثال سرویس ها که به صورت خیلی Custom توسط شرکت ها ارائه میشن مبتنی بر Token هستن و بعضا Header مربوط به سرویس را با توجه به سیاست های امنیتی خود تغییر داده اند و از حالت استاندارد خارج می کنند و تا ورژن MSSQL Server 2008 R2 من نتوانستم از Service Broker برای این امر استفاده کنم.
    2. محمد رضا موسائی سجزی

      محمد رضا موسائی سجزی

      با سلام خدمت دوست عزیز آقای شریف لطفی

      دوست عزیز منم از شما بخاطر خواندن آن ممنونم
      پاسخ
  4. مهدی ربانی ذبیحی

    مهدی ربانی ذبیحی

        با سلام به عنوان اولین مقاله نوروزی عالی بود باتشکر

    پاسخ
    1. محمد رضا موسائی سجزی

      محمد رضا موسائی سجزی

          با سلام خدمت دوست عزیز آقای مهدی ربانی ذبیحی

      دوست عزیز منم از شما بخاطر خواندن این مقاله تا انتها سپاسگذارم
      پاسخ
  5. فرشید علی اکبری

    فرشید علی اکبری

    سلام

    ضمن عرض تبریک سال جدید به همه کاربران نیک آموزی و تشکر از مطلب مفیدی که در این سایت به اشتراک گذاشتید میخواستم بدونم برای استفاده از وب سرویس ها در SQL SERVER، آیــا راهکارهای دیگری (یا بهتری) هم هست که در حالات خاصی باعث اُفت تراکنشهای بانک اطلاعاتی و Performance اون نشه؟
    پاسخ

ارسال یک نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی این وب سایت متعلق به نیک آموز می باشد.
این سایت توسط تیم آموزش برنامه نویسی نیک آموز مدیریت می شود.

کمپین پایان بهار | ۳۰ درصد تخفیف ویژه پرفروش ترین محصولات
close-image