0 تصويتات
منذ في تصنيف المواقع والتطوير بواسطة admin6 (139ألف نقاط)
ما هو SameSite Cookie؟

1 إجابة واحدة

0 تصويتات
منذ بواسطة admin6 (139ألف نقاط)

ما هو SameSite Cookie؟


SameSite Cookie هو خاصية أمان مخصصة لملفات تعريف الارتباط (Cookies) تساعد في تقليل مخاطر الهجمات المتعلقة بالجلسات، مثل هجمات طلبات التزوير عبر المواقع (CSRF). ببساطة، تُستخدم هذه الخاصية للتحكم في كيفية إرسال ملفات تعريف الارتباط إلى الخادم عندما تتفاعل المواقع عبر نطاقات مختلفة.

شرح خاصية SameSite وكيف تعمل


ملفات تعريف الارتباط هي ملفات صغيرة تخزن على متصفح المستخدم وتحتوي على بيانات تساعد الموقع في التعرف على المستخدم وتوفير تجربة مخصصة. لكن في بعض الحالات، يمكن أن تُرسل هذه الملفات بطريقة قد تسمح لمهاجم بالاستغلال، خاصة عندما تكون هناك طلبات عبر مواقع مختلفة.

هنا يأتي دور خاصية SameSite، التي تسمح لك بتحديد ما إذا كانت ملفات تعريف الارتباط سيتم إرسالها فقط مع الطلبات التي تتم من نفس الموقع (First-party requests)، أو إذا كان يمكن إرسالها مع الطلبات التي تأتي من مواقع أخرى (Cross-site requests).

أنواع إعدادات SameSite


توجد ثلاث إعدادات رئيسية لـ SameSite يمكن استخدامها عند تعيين ملفات تعريف الارتباط:

1. SameSite=Strict: في هذا الوضع، تُرسل ملفات تعريف الارتباط فقط إذا كان الطلب يأتي من نفس الموقع الذي أصدر الملف. هذا يوفر أقصى درجات الأمان لكنه قد يحد من بعض وظائف الموقع التي تعتمد على طلبات بين المواقع مثل روابط المشاركة أو الإعلانات.

2. SameSite=Lax: هنا يتم إرسال ملفات تعريف الارتباط في الطلبات التي تنشأ من نفس الموقع وأيضاً في بعض الطلبات العابرة للمواقع، مثل النقر على رابط خارجي. هذا التعيين يوفر توازناً بين الأمان وتجربة المستخدم.

3. SameSite=None: يسمح هذا الخيار بإرسال ملفات تعريف الارتباط مع جميع الطلبات، سواء من نفس الموقع أو من مواقع أخرى، ولكن يجب أن تكون ملفات تعريف الارتباط مُشفرة ومؤمّنة باستخدام خاصية Secure (أي عبر بروتوكول HTTPS).

لماذا تعتبر SameSite Cookie مهمة؟


تساعد خاصية SameSite في حماية المستخدمين والمواقع من هجمات خطيرة تستهدف سرقة الجلسات أو تنفيذ عمليات غير مصرح بها باسم المستخدم. بدون هذه الخاصية، قد تُستغل ملفات تعريف الارتباط في هجمات طلب التزوير عبر المواقع (CSRF)، والتي يمكن أن تؤدي إلى تغيير معلومات حساسة أو تنفيذ إجراءات دون علم المستخدم.

عمل المتصفحات الحديثة على تشجيع استخدام خاصية SameSite من خلال جعل القيمة الافتراضية تساوي Lax إذا لم يتم تحديد إعداد معين. وهذا يعزز الأمان بشكل كبير.

كيف تستخدم SameSite Cookie في تطوير المواقع؟


عند إعداد ملفات تعريف الارتباط في تطبيقك، يمكنك إضافة خاصية SameSite إلى رأس الاستجابة (Set-Cookie) بإحدى القيم المذكورة أعلاه. على سبيل المثال، لإعداد ملف تعريف ارتباط بقيود Strict:

Set-Cookie: sessionId=abc123; SameSite=Strict; Secure; HttpOnly

هذا يمنع إرسال ملف تعريف الارتباط مع الطلبات التي تأتي من مواقع أخرى، مما يقلل من احتمالية التلاعب بالجلسة.

من المهم اختبار وظائف موقعك بعد تطبيق هذه الخاصية، لأن بعض الميزات التي تعتمد على الطلبات العابرة للمواقع قد تتأثر إذا تم تعيين قيمة صارمة جدًا.

...