"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف تتحكم بدقة في نطاقات ملفات تعريف الارتباط في تطبيقات PHP متعددة النطاقات؟

كيف تتحكم بدقة في نطاقات ملفات تعريف الارتباط في تطبيقات PHP متعددة النطاقات؟

تم النشر بتاريخ 2024-11-07
تصفح:204

How to Precisely Control Cookie Domains in PHP Multi-Subdomain Applications?

التحكم في نطاقات ملفات تعريف الارتباط والمجالات الفرعية في PHP

عند إنشاء موقع متعدد النطاقات الفرعية، يصبح من الضروري التحكم في النطاقات الخاصة بملفات تعريف الارتباط للجلسة ضمان الإدارة المناسبة للجلسة لكل نطاق فرعي. ومع ذلك، يبدو أن هناك تناقضًا في التعامل مع ملفات تعريف الارتباط الخاصة بـ PHP عند تعيين المجال يدويًا.

افتراضيًا، تقوم session_start() بتعيين ملف تعريف ارتباط الجلسة مع النطاق الفرعي الحالي. ومع ذلك، فإن محاولة تعيين مجال ملف تعريف الارتباط باستخدام ini_set() أو session_set_cookie_params() ينتج عنها ملف تعريف ارتباط بمجال يبدأ بنقطة (.subdomain.example.net). يقوم هذا السلوك تلقائيًا بربط ملف تعريف الارتباط بجميع النطاقات الفرعية.

تنشأ المشكلة لأن وظائف ملفات تعريف الارتباط الخاصة بـ PHP تسبق المجال المقدم تلقائيًا بنقطة. لتجنب ذلك، يمكن استخدام الدالة header() بدلاً من ذلك. وهذا يسمح بالتحكم الصريح في مجال ملفات تعريف الارتباط. على سبيل المثال:

header("Set-Cookie: cookiename=cookievalue; expires=Tue, 06-Jan-2009 23:39:49 GMT; path=/; domain=subdomain.example.net");

باستخدام header()، يمكننا تعيين مجال ملف تعريف الارتباط دون البادئة التلقائية، وبالتالي تقييد ملف تعريف الارتباط على المجال الفرعي المحدد. توفر هذه الطريقة تحكمًا دقيقًا في نطاقات ملفات تعريف الارتباط والنطاقات الفرعية في تطبيقات PHP متعددة النطاقات.

بيان الافراج أعيد طبع هذه المقالة على: 1729139175 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3