منع تصفح مجلدات الموقع يتم بتعطيل Directory Browsing عبر .htaccess في Apache، أو autoindex off في Nginx، أو تعديل web.config في خوادم IIS لمنع تسريب الملفات.
يُعد منع تصفح مجلدات الموقع (Directory Browsing) برمجياً خطوة أمنية حيوية لحماية بيانات موقعك ومنع الوصول غير المصرح به إلى الملفات الحساسة؛ حيث تتيح هذه الميزة الافتراضية في بعض خوادم الويب للمهاجمين استعراض محتويات المجلدات غير المحمية، مما يكشف عن الهيكلية البرمجية ويُسهل استغلال الثغرات، مما يؤثر سلباً على أمان الموقع وتجربة المستخدم وسلطة السيو.
أهمية منع تصفح المجلدات ومخاطر ثغرة Directory Browsing Vulnerability
الحفاظ على أمان المواقع الإلكترونية هو حجر الزاوية لأي مشروع رقمي ناجح. تصفح المجلدات غير المرغوب فيه (Directory Indexing/Listing) يُعد ثغرة كشف معلومات شائعة (Directory browsing might reveal where files are stored)؛ حيث تسمح برؤية هيكلية الملفات بالكامل، وقد تؤدي إلى الوصول لملفات التكوين، النسخ الاحتياطية لقواعد البيانات (مثل ملفات .sql أو .zip)، أو نصوص برمجية قيد التطوير.
يستغل المهاجمون هذا الكشف لتصعيد الهجمات أو جمع معلومات استخباراتية عن السيرفر (Reconnaissance). أما بالنسبة لخبراء السيو (SEO)، فإن معالجة هذه الثغرة أمر حاسم لتجنب فهرسة المحتوى غير المرغوب فيه أو تقييم جوجل للموقع كغير آمن، مما يقي الموقع من عقوبات الترتيب وشارات التحذير الأمنية.
طرق برمجية متقدمة لمنع تصفح المجلدات حسب نوع الخادم
تختلف أساليب حظر الفهرسة التلقائية للمجلدات بحسب نوع خادم الويب (Web Server) والبيئة البرمجية المستضيفة للموقع:
1. ملف .htaccess وخوادم أباتشي (Apache) على Linux
في بيئات Linux وخوادم أباتشي، يُعد ملف .htaccess الأداة الأسرع والأكثر فعالية. يمكنك حظر استعراض الملفات بإضافة التوجيه المباشر التالي داخل الملف في الدليل الجذر (Root Directory):
Options -Indexesيقوم هذا السطر بإجبار الخادم على إعادة استجابة “403 Forbidden” للمتصفح فور محاولة زائر أو سكربت استعراض مجلد لا يحتوي على ملف مفهرس افتراضي مثل index.html أو index.php.
2. إعدادات خوادم Nginx على Linux
تعتمد خوادم Nginx في بيئات Linux على تعديل كتلة النطاق (Server Block) لتعطيل ميزة الفهرسة التلقائية. قم بإضافة أو تعديل التوجيه autoindex داخل قسم location المناسب:
location / {
autoindex off;
}ضمان تعطيل هذا الخيار يعطل إنشاء قوائم HTML التلقائية للمجلدات عبر كامل مسارات السيرفر.
3. إدارة وتعطيل تصفح المجلدات في خوادم IIS (How to disable directory browsing in IIS)
في خوادم Microsoft IIS (مثل IIS 10)، يمكنك التحكم بميزة Directory Browsing إما عبر واجهة المستخدم أو برمجياً من خلال ملف التكوين web.config:
- عبر مدير IIS (IIS Manager): حدد موقعك أو المجلد المطلوب، ثم افتح ميزة Directory Browsing من اللوحة الرئيسية، وانقر على Disable من قائمة الإجراءات الجانبية.
- برمجياً عبر web.config: أضف العنصر
<directoryBrowse enabled="false" />داخل قسم<system.webServer>لمنع الاستعراض وإخفاء هيكلية الملفات تلقائياً (IIS directory browsing hide web config):
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>4. حماية المجلدات باستخدام لغة PHP
تُستخدم لغة PHP كطبقة حماية إضافية (Fallback Layer) للمجلدات التي لا يمكن التحكم بإعدادات سيرفرها مباشرة. يتم ذلك بنشر ملف index.php صامت داخل المجلد الفرعي لمنع إظهار المحتويات.
كود ملف index.php لقطع الاتصال وإرجاع حظر رسمي:
<?php
http_response_code(403);
exit("Access Denied: Directory browsing is disabled.");
?>الأكثر قراءة:
تأثير تصفح المجلدات على السيو (SEO) وتجربة المستخدم
كشف المجلدات يؤثر سلباً على تقييم محركات البحث للموقع بعدة طرق حاسمة:
- فهرسة المحتوى المكرر والضار: زحف عناكب البحث (Spiders) لصفحات المجلدات يؤدي لفهرسة روابط غير معالجة وتشويه نتائج البحث بمحتوى مكرر أو منخفض الجودة.
- استنزاف ميزانية الزحف (Crawl Budget): هدر طاقة عناكب البحث في أرشفة المجلدات والملفات المؤقتة بدلاً من المقالات والصفحات الأساسية.
- ضرب موثوقية E-E-A-T: تصنيف أدوات أمان جوجل للموقع كبيئة غير آمنة يتسبب في خفض مرتبة الموقع في نتائج البحث وعرض تحذيرات أمنية للزوار.
حماية بيانات تطبيقات الهواتف والألعاب
في بيئات الألعاب الإلكترونية وتطبيقات الهاتف المحمول، تُخزن الخوادم أصولاً برمجية حساسة (Game Assets)، نصوص تحديثات البرمجيات (Firmware)، وبيانات المستخدمين. ترك التصفح مفتوحاً يسفر عن مخاطر بالغة التشعيب:
- تسريب الملكية الفكرية (IP): سرقة الملفات الصوتية، الأكواد المصدرية، والتصاميم قبل إطلاقها الرسمياً.
- استغلال ثغرات التطبيقات: هندسة عكسية للملفات المكشوفة لتحديد الثغرات وتطوير سكربتات غش (Cheats) أو أدوات اختراق.
- كشف بيانات الاعتماد: تسريب مفاتيح API ورموز الاتصال الخاصة بخدمات السحاب.
مقارنة طرق منع تصفح المجلدات والأدوات المساعدة
يوضح الجدول التالي مقارنة تقنية بين أبرز الوسائل المتبعة لمنع تصفح المجلدات وتقييم فاعليتها:
| الطريقة | خادم الويب | سهولة التنفيذ | مستوى الأمان | ملاحظات آليات العمل |
|---|---|---|---|---|
Options -Indexes | Apache (Linux) | سهل جداً | مرتفع | يتطلب تفعيل وحدة mod_autoindex وتوفير ملف .htaccess |
autoindex off; | Nginx (Linux) | متوسط | مرتفع | يتطلب الوصول لملف إعدادات Server Block وإعادة تحميل الخدمة |
directoryBrowse enabled="false" | Microsoft IIS | سهل | مرتفع جداً | تُضاف داخل ملف web.config لحظر الوصول وحماية مسارات IIS |
ملف index.php فارغ | عام (PHP) | سهل جداً | متوسط | حل وقائي يمنع العرض ولكنه لا يلغي صلاحيات القراءة المباشرة للملفات المعلومة |
| ضبط الأذونات (Chmod) | عام (Linux) | متوسط | مرتفع جداً | يُفضل ضبط المجلدات على 755 والملفات على 644 لمنع التعديل غير المصرح |
يُنصح مهندسو الأمان والقائمون على المواقع بإجراء فحوصات دورية لثغرات السيرفر باستخدام أدوات متخصصة مثل OWASP ZAP أو Burp Suite لاكتشاف المجلدات التي تعاني من الفهرسة التلقائية ومعالجتها فوراً.
إقرأ أيضا:
للمزيد من الوثائق التقنية والمراجع المعتمدة، يمكنك الاطلاع على المصادر التالية:








