فهرس دليل خادم الويب

عندما يطلب عميل HTTP (عادةً متصفح الويب ) عنوان URL يشير إلى بنية دليل بدلاً من صفحة ويب فعلية داخل بنية الدليل، فإن خادم الويب سيقدم عادةً صفحة افتراضية، والتي يشار إليها غالبًا باسم الصفحة الرئيسية أو "صفحة الفهرس".
يُعدّ اسم الملف الشائع لمثل هذه الصفحة هو `<filename>` ، ولكن معظم خوادم HTTP الحديثة توفر قائمة قابلة للتكوين بأسماء الملفات التي يمكن للخادم استخدامها كفهرس. إذا تم تكوين الخادم لدعم البرمجة النصية من جانب الخادم ، فستتضمن القائمة عادةً إدخالات تسمح باستخدام المحتوى الديناميكي كصفحة فهرس (مثل ` <filename>` ، `<filename>` ، ` <filename>`، `<filename> ` )، على الرغم من أنه قد يكون من الأنسب تحديد مُخرجات HTML ( مثل `<filename>` أو `<filename>`)، حيث لا ينبغي اعتبار ذلك أمرًا مفروغًا منه. ومن الأمثلة على ذلك خادم الويب مفتوح المصدر الشهير Apache ، حيث يتم التحكم في قائمة أسماء الملفات بواسطة التوجيه `<filename> ` في ملف تكوين الخادم الرئيسي أو في ملف تكوين ذلك الدليل . من الممكن عدم استخدام امتدادات الملفات على الإطلاق، والحياد تجاه طرق تسليم المحتوى، وتعيين الخادم لاختيار أفضل ملف تلقائيًا من خلال التفاوض على المحتوى .index.htmlindex.cgiindex.plindex.phpindex.shtmlindex.jspdefault.aspindex.html.phpindex.html.aspxDirectoryIndex
إذا لم يتمكن الخادم من العثور على ملف بأي من الأسماء المدرجة في إعداداته، فقد يُعيد خطأً (عادةً 403: قائمة الفهرس ممنوعة أو 404: غير موجود ) أو يُنشئ صفحة فهرس خاصة به تُدرج الملفات الموجودة في الدليل. عادةً ما يكون هذا الخيار، الذي يُسمى غالبًا autoindex، قابلاً للتكوين أيضًا. [ 2 ]
تاريخ
تم دعم آلية يقوم فيها خادم الويب بتقديم ملف افتراضي لكل مجلد فرعي منذ إصدار NCSA HTTPd 0.3beta (22 أبريل 1993)، [ 3 ] حيث يتم افتراضيًا تقديم index.htmlالملف في المجلد. [ 3 ] [ 4 ] وقد اعتمد CERN HTTPd هذه الآلية منذ الإصدار 2.17beta على الأقل (5 أبريل 1994)، والذي يدعم افتراضيًا Welcome.html، welcome.htmlبالإضافة إلى الآلية التي طورتها NCSA index.html. [ 5 ]
تدعم خوادم الويب الحديثة عادةً مخطط الملفات الافتراضي هذا بشكل أو بآخر؛ وعادةً ما يكون هذا قابلاً للتكوين، حيث index.htmlيكون أحد أسماء الملفات الافتراضية. [ 6 ] [ 7 ] [ 8 ]
تطبيق

في بعض الحالات، قد تكون الصفحة الرئيسية لموقع ويب عبارة عن قائمة بخيارات اللغة للمواقع الكبيرة التي تستخدم الاستهداف الجغرافي . كما يمكن تجنب هذه الخطوة، على سبيل المثال، باستخدام التفاوض على المحتوى .
في حال عدم index.*وجود أي ملف معروف ضمن مجلد معين، يمكن تهيئة خادم الويب لعرض قائمة تلقائية بالملفات الموجودة في ذلك المجلد. على سبيل المثال، في خادم الويب Apache، يتم توفير هذه الخاصية بواسطة وحدة mod_autoindex [ 9 ] ويتم التحكم بها من خلال Options +Indexesالتوجيه [ 10 ] في ملفات تهيئة خادم الويب . تُشكل قوائم المجلدات التلقائية هذه أحيانًا خطرًا أمنيًا لأنها تُحصي ملفات حساسة قد لا تكون مُخصصة للوصول العام، في عملية تُعرف بهجوم فهرسة المجلدات. [ 11 ] قد يُساعد هذا الخلل في التهيئة الأمنية [ 12 ] أيضًا في هجمات أخرى، مثل هجوم اختراق المسار أو المجلد . [ 13 ]
العروض
عند الوصول إلى دليل، قد يكون لطرق الفهرسة المختلفة المتاحة تأثير مختلف على استخدام موارد نظام التشغيل ( ذاكرة الوصول العشوائي ، وقت وحدة المعالجة المركزية ، وما إلى ذلك) وبالتالي على أداء خادم الويب.
إليكم القائمة مرتبة من الأسرع إلى الأبطأ :
- باستخدام ملف فهرس ثابت، على سبيل المثال:
index.html، إلخ؛ - باستخدام ميزة خادم الويب التي تسمى عادة الفهرسة التلقائية (عندما لا يوجد ملف فهرس) للسماح لخادم الويب بإنشاء قائمة الدليل تلقائيًا باستخدام وحدته الداخلية؛
- باستخدام ملف مُفسَّر يقرأه مُفسِّر البرنامج الداخلي لخادم الويب، على سبيل المثال:
index.php؛ - باستخدام برنامج تنفيذي CGI وبرنامج مُجمّع، على سبيل المثال:
index.cgi.
مراجع
- ↑ "mod_dir - خادم Apache HTTP" . httpd.apache.org . تم الاطلاع عليه بتاريخ 30-05-2014 .
- ↑ ASF Infrabot (22-05-2019). "قوائم الدليل" . مؤسسة أباتشي: مشروع خادم HTTPd . تم الاسترجاع في 16-11-2021 .
- 1 2 "WWW-Talk أبريل-يونيو 1993: NCSA httpd الإصدار 0.3" . 1997.webhistory.org .
- ↑ "NCSA HTTPd DirectoryIndex" . 31 يناير 2009. مؤرشف من الأصل في 31 يناير 2009.
- ↑ "سجل تغييرات W3C httpd" . 5 يونيو 1997. مؤرشف من الأصل في 5 يونيو 1997.
- ↑ "mod_dir - Apache HTTP Server الإصدار 2.4 § توجيه DirectoryIndex" . httpd.apache.org . مؤرشف من الأصل بتاريخ 12 نوفمبر 2020. تم الاطلاع عليه بتاريخ 13 يناير 2021 .
- ↑ "وثائق NGINX | تقديم المحتوى الثابت" . docs.nginx.com . مؤرشف من الأصل بتاريخ 11 نوفمبر 2020. تم الاطلاع عليه بتاريخ 13 يناير 2021 .
- ↑ "المستند الافتراضي <defaultDocument> | مستندات مايكروسوفت" . docs.microsoft.com . مؤرشف من الأصل بتاريخ 2020-12-08 . تم الاطلاع عليه بتاريخ 2021-01-13 .
- ↑ "mod_autoindex - Apache HTTP Server Version 2.4" . httpd.apache.org . تم الاطلاع عليه بتاريخ 13 يناير 2021 .
- ↑ "core - Apache HTTP Server Version 2.4 § Options Directive" . httpd.apache.org . تم الاطلاع عليه بتاريخ 13 يناير 2021 .
- ↑ "مستندات IBM" . IBM . 2021-03-08 . تم الاطلاع عليه بتاريخ 2021-05-07 .
- ↑ "A6:2017-سوء تكوين الأمان" . OWASP . تم الاطلاع عليه بتاريخ 2021-05-07 .
- ↑ "اجتياز المسار" . OWASP . تم الاسترجاع في 7 مايو 2021 .
- تصفح الويب
