• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
index.php خالی برای جلوگیری از Directory listing
#1
دقیقا چرا باید از هرگونه Directory listing جلوگیری کرد؟
اصلا آیا باید از هرگونش جلوگیری کرد؟
مثلا یک دایرکتوری که توش فقط یکسری فایل PHP هست که از جاهای دیگر سایت بهشون لینک هست، چه نیازی به این کار داره؟

سوال دوم اینکه، فایل ایندکس که میذاریم خالی باشه دیگه؟
آخه من دیدم توی index.php ای که وردپرس برای جلوگیری از Directory listing گذاشته این هست:
کد:
<?php
// Silence is golden.
  پاسخ
تشکر شده توسط : masoudmanson
#2
هرچی کاربر رو محدود کنی به نفعته:ی
اون چیزسی هم که گزاشتی فقط یه کامنت هستش
خالی بزاری کافیه
تونل ها مي گويند : راه هست؛ حتي در دل سنگ ها.Wink
استفاده از دکمه تشکر(Heart) نشان شخصیت شماست;
درگاه پرداخت 724
  پاسخ
تشکر شده توسط :
#3
همون من میگم اون کامنته رو واسه چی گذاشتن Huh
مثل اینکه خواستن کلمات قصار رو نشر بدن Big Grin
  پاسخ
تشکر شده توسط :
#4
به کاربرانتان هر چیزی که لازم دارند بدهید .نه کمتر ،نه بیشتر
یکی از نکاتی که همه توسعه دهندگان وب باید بدانند
  پاسخ
تشکر شده توسط : vejmad imangh
#5
البته این گفته را هم میتوان تاحدی اشتباه/افراطی تفسیر کرد.
یا در تشخیص اینکه چه چیز اطلاعات اضافی است یا نه اشتباه کنیم.
مثلا بنده الان فایلهای index.php را در دوتا از دایرکتوری ها مجددا حذف کردم. چون هرچه فکر کردم به این نتیجه رسیدم که Directory listing آنها از نظر یوزرفرندلی بهتر است و ریسک امنیتی خاصی هم درمورد آنها وجود ندارد (محتویات دایرکتوریها و عملیات آنها کاملا محدود و روشن و ساده هستند).
مثلا میخوام اگر طرف آدرس مستقیم دایرکتوری debug_tools رو هم زد، لیست دوتا فایلی که اونجا هست رو ببینه و بتونه انتخاب کنه.
همینطور درمورد دایرکتوری setup. چون ممکنه طرفی که میخواد برنامه رو نصب کنه متوجه اسمش بشه و از ابتدا آدرس این دایرکتوری رو وارد کنه.
مشکل امنیتی خاصی هم در این موارد نمیبینم.

حالا مثلا جلوی Directory listing دو دایرکتوری captcha و js رو گرفتم. چون کاربر عادی کاری با محتویات این دایرکتوری ها نداره.
ولی در کل اصولش اینه که امنیت برنامه اصولی باشه و بر پنهان ماندن الگوریتم و ساختارش استوار نباشه.
مثلا هر فایلی که فقط باید اینکلود بشه و نباید بصورت مستقیم قابل فراخوانی باشه باید در خودش کدی داشته باشه که این رو چک و جلوگیری بکنه، نه اینکه به پنهان کردن آدرسش با این روشهای بدوی و ضعیف متکی باشیم. البته من برای فایلهای اینکلودی هم از کد در هر فایل استفاده کردم و هم از .htaccess بخاطر اینکه اگر در یک فایلی اون کد از قلم افتاده بود بازم یه لایهء دیگر امنیت وجود داشته باشه.
البته این روشهای اصولی که میگم منافاتی با استفاده از روشهای ضعیف و درپیت ندارنا. یعنی میتونیم index.php خالی رو هم اضافه کنیم تا محتویات دایرکتوریش لیست نشه. این یک امنیت کمی رو اضافه میکنه، ولی خب چون اضافه کردنش هم کار سختی نیست و هزینهء خاصی نداره انجام میدیم.
  پاسخ
تشکر شده توسط : masoud1990 imangh
#6
بوی وردپرس میاد Angel
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان