1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

اعمال محدودیت مشاهده فایل های XML و XSL در ASP.NET

شروع موضوع توسط hector2141 ‏15/9/12 در انجمن .Net

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    XML یک فرمت استاندارد برای ذخیره سازی داده است که امروزه از آن در اکثر سایت ها به منظور مدیریت محتوا استفاده می گردد .


    یک فرمت استاندارد برای ذخیره سازی داده است که امروزه از آن در اکثر سایت ها به منظور مدیریت محتوا استفاده می گردد . اغلب سایت ها از XML برای ذخیره سازی داده و از XSL و سایر StyleSheets برای نمایش داده استفاده می نمایند. فایل های XML را می توان نظیر صفحات وب ایستا از سرویس دهنده وب درخواست و پس از ارسال، محتویات آنان توسط مرورگر نمایش داده می شود .
    با استفاده از HTTP handlers می توان امکان مشاهده مستقیم اینگونه فایل ها از طریق مرورگر را غیرممکن نمود . HTTP handlers ، دارای انعطاف لازم به منظور برخورد با فایل های متفاوت با توجه به نوع انشعاب آنان می باشد . با استفاده از پتانسیل فوق می توان امکان دستیابی و یا عدم دستیابی به فایل هائی با انشعاب خاص را فراهم نمود . برای اعمال محدودیت مشاهده یک فایل XML و سایر فایل های استاتیک ، می توان مراحل زیر را دنبال نمود :
    اضافه کردن کد زیر در فایل Web.config و در بخش <System.web>
    اعمال تغییرات لازم در فایل Web.Config
    <httpHandlers>
    <add verb="*" path="*.xml" type="System.Web.HttpForbiddenHandler"/>
    </httpHandlers>

    در IIS ، بر روی دایرکتوری مجازی مربوطه کلیک سمت راست نموده و گزینه properties را انتخاب نمائید .
    با کلیک بر روی دکمه Configuration ( موجود در بخش Home Directory ) ، لیستی از تنظیمات انجام شده در ارتباط با برنامه (انشعاب ها و مسیرهای اجرائی مربوط به هریک از آنان ) نمایش داده می شود .
    پس از کلیک بر روی دکمه Add و فعال شدن جعبه محاوره ای مربوطه ، از طریق دکمه browse فایل aspnet_isapi.dll موجود در مسیر windir%Microsoft.NETFrameworkv۱.۱.۴۳۲۲ را آدرس دهی نموده تا در بخش "Executable" نمایش داده شود .
    انشعاب فایل مورد نظر ( نظیر xml . ) را در قسمت "Extension" تایپ نمائید .
    در بخش "Verb" بر روی گزینه "Limit" کلیک نموده و "GET,HEAD,POST,DEBUG" را تایپ نمائید .
    گزینه OK را انتخاب و در ادامه دکمه Apply و نهایتا" OK را فعال نمائید .
    پس از انجام مراحل فوق ، در صورتی که از طریق مرورگر درخواست یک فایل XML را داشته باشیم، با پیام "This type of page is not served" مواجه خواهیم شد .
    فرآیند فوق را می توان در سطح System نیز اعمال نمود ( در مقابل سطح Application ) . بدین منظور می بایست Handlers در فایل Machin.config اضافه گردد . در چنین وضعیتی سیاست تعریف شده در ارتباط با تمامی برنامه های ASP.NET موجود بر روی سیستم اعمال خواهد شد .
    از فرآیند فوق می توان به منظور اعمال محدودیت مشاهده سایر فایل های ایستا نظیر فایل های XSL نیز استفاده نمود .