• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

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

Reza

متخصص بخش اسکریپت
XML يک فرمت استاندارد برای ذخيره سازی داده است که امروزه از آن در اکثر سايت ها به منظور مديريت محتوا استفاده می گردد . اغلب سايت ها از XML برای ذخيره سازی داده و از XSL و ساير StyleSheets برای نمايش داده استفاده می نمايند. فايل های 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.NET\Framework\v1.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 موجود بر روی سيستم اعمال خواهد شد .
 
بالا