PDA

View Full Version : سوال امنیتی مهم در سایت ها



محمد متاله
پنج شنبه 18 آذر 1389, 03:05 صبح
با سلام تا حالا این سوالم را چندین بار در این سایت مطرح کردم ولی کسی تا حالا پاسخ درستی به من نداده
سوالم درباره امنیت دایرکتوری های سایت می باشد یعنی اینکه بتوانم از فایل های درون دایرکتوری ها مانند عکس و فیلم و ... در تمام صفحات سایتم بدون استفاده کنم و بدون اینکه کاربرها به سایتم لاگین کرده باشند بتوانند فایل هایی را که من در صفحات قرار دادم را مشاهده کنند اما گر کاربری با استفاده از کلیک راست بر روی مثلا عکس های سایت توانست آدرس آن را پیدا کند نتواند با کپی کردن آدرس و حذف نام فایل به تمام محتویات دایرکتوری ام دسترسی داشته باشد
به عنوان نمونه سایتی با نام test2 در زیر داریم که کاربر می تواند به طور غیر مجاز وارد پوشه images شده و محتویات داخل آن را ببیند http://up.iranblog.com/images/gw54q6yxyxf2wmypkxy.jpg

اما من می خواهم اگر کاربری این پوشه را navigate کرد با عکسی مانند زیر رویرو شود
http://up.iranblog.com/images/525hmoslijw81ov5cpwo.jpg

سایتی هم که من عکس های بالا را در ان قرار دادم با navigate کردن پوشه ای که عکس ها درونش است نیز چنین صفحه ای را برایم نمایش می دهد حال لطفا اگر کسی پاسخم را می داندممنون می شوم اگر با توضیح کامل بگوید


http://up.iranblog.com/images/fv4xzqujs9km3bgjvr.jpg

البته من فایل web.config را هم در پوشه عکس ها و با تنظیمات Authorization قرار داده ام اما این باعث می شود که افرادی که لاگین نکرده اند نتوانند عکس هایی را هم که من خودم در سایت قرار داده ام را ببینند و هم اینکه کاربری که لاگین کرده بتواند وارد این پوشه شود که من این را نمی خواهم
فقط می خواهم تمام کاربران چه عضو سایت و چه غیر عضو بتوانند عکس ها و فیلم ها و ... را که خودم در صفحات گذاشته ام را ببیند اما نتوانند پوشه جاوی فایل ها را navigate کنند

aminghaderi
پنج شنبه 18 آذر 1389, 09:48 صبح
شما شانس نداشتی ، هر موقع مطرح می کردی اون دوستانی که آن بودند یا سوال شما رو نمی خوندند، یا اطلاع نداشتند و گر نه همچین سوال پیچیده و مبهم و به قول شما مشکل امنیتی نیست؟!
شما اگر روی لوکال این کار رو می کنی جواب می ده ، به دلیل این هستکه تنظیمات نمایش پوشه های سایت توسط iis هماهنگ می شه و چون شما iis لوکالت رو درست تنظیم نمی کنی ، می تونی محتوایت پوشه رو برات لیست کنه ، ولی من همیجا بهت این نوید رو می دم که وقتی سایت رو داخل سرور آپلود کنی ، پشتیبان های فنی سرور حتمی دسترسی این مورد رو بسته اند ، اگر این طور نبود ، بگو تا بگم از کجا بری دسترسی رو ببندی.

موفق باشی.

PhoenixNet
پنج شنبه 18 آذر 1389, 09:56 صبح
سلام

2 راه وجود داره.

1-در تنظیمات کنترل پنل هاستتون گزینه ای هست به نام Allow Directory Browsing که اگر مقدار آن را False کنید دیگر کاربران نمی توانند به صورت شکل بالا سایت شما را ببینند.(بدیهی است این امکان در IIS وجود دارد در ASP .NET Development Server بدنبال آن نگردید)
2-در تمام فولدرهاتون فایل (ِdefault.aspx یا Index.htm یا هر نامی را که به عنوان پیش فرض انتخاب کرده اید قرار دهید) و پیغام یا فعالیتی را که در نظر دارید هنگام دسترسی غیر مجاز نمایش داده شود را درون آن بنویسید.
وقتی کاربر آدرس پوشه images را میزند وب سرور ابتدا به دنبال فایل های پیش فرض می گردد و در صورت وجود انها را نمایش می دهد در غیر این صورت گزینه Allow Directory Browsing را چک می کند که در صورت False بودن پیغام Directory Listing Denied را به کاربر نمایش می دهد.

taghi.km
پنج شنبه 18 آذر 1389, 12:10 عصر
البته یه راه دیگه این هست که از یک httphandler استفاده کنی تا مسیر فایل رو از دید کاربر مخفی کنی

sokote_bi_payan
دوشنبه 06 دی 1389, 12:58 عصر
به نام خدا
سلام
بهتره من سوال این دوستمون و کامل کنم
فرض کنید شما یک پوشه دارید به نام image و تو این پوشه 3 تا فایل به نام 1.jpg, 2.jpg 3.jpg دارید و فرض کنید شخصی با عکس اول را می بیند اما عکس های 2 و 3 را نباید ببینید برای این کار به نظرتون چیکار باید کرد؟
من اگه آدرس عکس 2 رو بدم باز میشه که...

mohammad.sakhidel
دوشنبه 06 دی 1389, 13:43 عصر
بنظر من بهتره querystring رو همیشه بصورت Encrypt شده فرستاد و در صفحه مقصد اون رو Decrypt کرد :

MyPage.aspx?qs=98taTT8rL2GEE3tJEllEtQ



-----------------------------------------------------------------
بازار مرزی ایرانیان :: تجربه یک خرید ارزان و با کیفیت (http://www.bazaremarzi.com)

محمد متاله
جمعه 28 مرداد 1390, 12:15 عصر
البته به نکته خوبی اشاره کرده اید که باید در سایت هایی مثل سایت های دانشگاه ها راه حلی برای آن ها داشت تا کسی با وارد شدن به Account خودش نتواند آدرس فایل عکس خودش را پیدا کرده و با استفاده از آن به عکس دیگر دانشجویان دسترسی داشته باشد
من خودم به شخصه نام عکس هایی را که کاربر آپلود می کند را تغییر می دهم و یک نام رندم با استفاده از کلاس Guid برای آن در نظر می گیرم که این کلاس نام بسیار طولانی و تقریبا بدون تکرار را پیشنهاد می دهد در این صورت نام فایل هایم به صورت سریال پشت سر هم نیست تا کاربر بتواند یکی یکی به فایل ها دسترسی داشته باشد
اگر دوستان راه حل و یا نظر دیگری دارد لطفا دریغ نفرمایند.
با سپاس از همگی