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

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

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

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    XML يک فرمت استاندارد برای ذخيره سازی داده است که امروزه از آن در اکثر سايت ها به منظور مديريت محتوا استفاده می گردد . اغلب سايت ها از XML برای ذخيره سازی داده و از XSL و ساير Style Sheets برای نمايش داده استفاده می نمايند. فايل های XML را می توان نظير صفحات وب ايستا از سرويس دهنده وب درخواست و پس از ارسال، محتويات آنان توسط مرورگر نمايش داده می شود .
    با استفاده از HTTP handlers می توان امکان مشاهده مستقيم اينگونه فايل ها از طريق مرورگر را غيرممکن نمود . HTTP handlers ، دارای انعطاف لازم به منظور برخورد با فايل های متفاوت با توجه به نوع انشعاب آنان می باشد . با استفاده از پتانسيل فوق می توان امکان دستيابی و يا عدم دستيابی به فايل هائی با انشعاب خاص را فراهم نمود .


    برای اعمال محدوديت مشاهده يک فايل XML و ساير فايل های استاتيک ، می توان مراحل زير را دنبال نمود :
    اضافه کردن کد زير در فايل Web.config و در بخش
    اعمال تغييرات لازم در فايل Web.Config
    < httpHandlers >
    < add verb="*" path="*.xml" type="System.Web.HttpForbiddenHandler"/ >
    < /httpHandlers >
    در IIS ، بر روی دايرکتوری مجازی مربوطه کليک سمت راست نموده و گزينه properties را انتخاب نمائيد .

    با کليک بر روی دکمه Configuration ( موجود در بخش Home Directory ) ، ليستی از تنظيمات انجام شده در ارتباط با برنامه (انشعاب ها و مسيرهای اجرائی مربوط به هريک از آنان ) نمايش داده می شود .
    پس از کليک بر روی دکمه Add و فعال شدن جعبه محاوره ای مربوطه ، از طريق دکمه browse فايل aspnet_isapi.dll موجود در مسير windir%Microsoft.NETFrameworkv1.1.4322 را آدرس دهی نموده تا در بخش "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نيز استفاده نمود .