Path في Set-Cookie ليس اسما لمجلد على قرص المستخدم. عندما يفسر المساعد حقل ملف ارتباط، يحتاج إلى نطاق عنوان الطلب الذي يصفه هذا الشرط. نقرأ MDN ونؤلف أربعة مسارات، دون إنشاء ملف ارتباط أو زيارة حساب أو تقديم حكم على أمن موقع.
الخلاصة السريعة
يشترط Path مسارا في عنوان الطلب لإرسال ملف الارتباط؛ وليس حاجز أمان يمنع القراءة غير المصرح بها من مسار آخر. [1] لا نحوله إلى دليل على مجلد تخزين أو صلاحية دخول.
- Path شرط مسار لعنوان الطلب؛ ويؤخذ الافتراضي من مسار الطلب عند غيابه. [1] لا يحدد مجلدا محليا.
- في ورقتنا Path=/catalog: تطابق /catalog و/catalog/entry، ولا تطابق /catalogue أو /fr/catalog؛ نفترض بقية شروط الإرسال، دون إرسال فعلي.
- عند غياب Path يلزم عنوان الطلب لتحديد الافتراضي؛ يبين مثال المرجع اختيار مسار الدليل دون اسم الملف. [1]
- Path ليس إجراء أمنيا ولا يمنع قراءة غير مصرح بها من مسار آخر. [1] لا يثبت صلاحية دخول.
أي مسار نقصده؟
تشرح MDN أن Path يحدد المسار الذي يجب وجوده في عنوان الطلب حتى يرسل المتصفح ملف الارتباط. [1]
لذلك نفرق بين عنوان ويب ومسار قرص. وجود كلمة docs لا يخبرنا أن المتصفح أنشأ مجلدا بهذا الاسم، ولا يقدم مكان تخزين الملف على الجهاز. يقرأ المساعد الحقل في سياقه بدلا من تفسير الاسم حرفيا كحافظة ملفات.
نثبت أن بقية شروط الإرسال مستوفاة في بطاقات المقارنة. لا يجعل هذا الشرط وحده كل طلب مقبولا؛ موضوع المقال سؤال مطابقة المسار لا قواعد ملفات الارتباط كاملة.
هل يكفي أن يبدأ النص بالحروف نفسها؟
يسرد المرجع مع Path=/docs المطابقات /docs ومساراته التابعة، ويستبعد /docsets و/fr/docs. [1]
نؤلف أربعة طلبات تخص هذا الحقل وحده. وجود catalog داخل /fr/catalog لا يجعل المسار هو البادئة المطلوبة، كما أن catalogue ليست دليلا فرعيا لمجرد تشابه البداية. نحفظ حدود المقطع لا مجموعة الحروف وحدها.
لا نحسب عدد رسائل أرسلت فعلا من الجدول. كل صف يصف فرع مطابقة مشروطا، وليس سجل شبكة أو إذنا لمستخدم.
| المسار المؤلف | مطابقة Path=/catalog | حد النتيجة |
|---|---|---|
| /catalog | نعم | شرط مسار فقط |
| /catalog/entry | نعم | مسار تابع |
| /catalogue | لا | تشابه حروف لا يكفي |
| /fr/catalog | لا | ليس البادئة المطلوبة |
ماذا لو لم يكتب Path ؟
تذكر MDN أن الافتراضي هو مسار عنوان الطلب؛ وفي مثال عنوان /docs/Web/HTTP/index.html يكون /docs/Web/HTTP/. [1]
هذا مثال من المرجع لقراءة قاعدة الغياب، وليس طلبا أرسلناه. إذا لم تقدم ورقة أخرى عنوان الطلب، لا نفترض الافتراضي /catalog لمجرد أن قيمة صريحة ظهرت في جدولنا السابق.
يحفظ المساعد حالة وجود السمة أو غيابها والعنوان اللازم لاشتقاق الافتراضي. لا نخلط بين اختيار صريح وبين قيمة يستنتجها العقد من سياق مختلف.
هل تمنع المطابقة قراءة غير مصرح بها؟
ينبه المرجع إلى أن Path ليس إجراء أمنيا ولا يحمي من قراءة ملف الارتباط دون تصريح من مسار آخر. [1]
لذلك لا يقول المساعد إن /catalog منطقة محمية اعتمادا على هذا الحقل. قد توجد في نظام فعلي قواعد دخول أخرى، لكننا لم نقدمها ولا نثبتها باسم المسار. فشل مطابقة شرط إرسال لا يساوي ضمان سرية أو قرار صلاحية.
لم ننشئ ملف ارتباط أو نقرأ بيانات حساب. يصف الملخص المسار والمطابقات والافتراضي وحد الأمن المعلن، ويترك أي حديث عن إرسال واقعي أو وصول فعلي لسجله ومصدره المحددين.
المصادر ومتابعة القراءة
- MDN: Set-Cookie Path (يفتح في نافذة جديدة)developer.mozilla.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
