PHP Academy · درس

أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure

احموا ملفات تعريف الارتباط باستخدام سمات HttpOnly وSecure وSameSite

الدرس 4 من 413 خطوة

أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

علامة HttpOnly

عندما يحتوي ملف تعريف الارتباط على علامة HttpOnly، لا يستطيع JavaScript الوصول إليه عبر document.cookie، مما يمنع سرقة الجلسة المستندة إلى XSS.

ضبط HttpOnly وSecure

استخدم صيغة مصفوفة الخيارات (في PHP 7.3 والإصدارات الأحدث) للحصول على تعليمات برمجية واضحة وسهلة القراءة.

<?php
setcookie("session_id", $id, [
    "expires"  => time() + 3600,
    "path"     => "/",
    "secure"   => true,
    "httponly" => true,
    "samesite" => "Strict",
]);

علامة Secure

لا يُرسل ملف تعريف الارتباط Secure إلا عبر HTTPS. وفي اتصالات HTTP، يحذفه المتصفح من الطلب، مما يمنع اعتراضه عبر HTTP غير المشفّر.

السمة SameSite

تتحكم SameSite في وقت إرسال ملفات تعريف الارتباط مع الطلبات من مواقع مختلفة:

  • Strict — الطلبات من الموقع نفسه فقط
  • Lax — الطلبات من الموقع نفسه + عمليات الانتقال إلى المستوى الأعلى
  • None — الطلبات من مواقع مختلفة، وتتطلب Secure

SameSite وCSRF

يخفّف ضبط SameSite على Strict أو Lax من هجمات CSRF، لأن ملف تعريف ارتباط الجلسة لا يُرسل مع طلبات POST المزوّرة من مواقع مختلفة.

إعدادات ملفات تعريف ارتباط الجلسات في php.ini

اضبط أمان ملفات تعريف ارتباط الجلسات الافتراضي أثناء التشغيل:

<?php
ini_set("session.cookie_httponly", "1");
ini_set("session.cookie_secure",   "1");
ini_set("session.cookie_samesite", "Lax");
session_start();

بادئات ملفات تعريف الارتباط

تلتزم المتصفحات ببادئات أسماء ملفات تعريف الارتباط:

  • __Secure- — يجب أن يحتوي ملف تعريف الارتباط على علامة Secure
  • __Host- — يجب أن يحتوي على Secure، وأن يكون Path=/، وألا يحتوي على سمة Domain

مثال على بادئة ملف تعريف الارتباط

استخدم البادئة __Host- لربط ملف تعريف الارتباط بالمضيف المحدد بالضبط.

<?php
setcookie("__Host-session", $token, [
    "secure"   => true,
    "httponly" => true,
    "samesite" => "Strict",
    "path"     => "/",
]);

مراجعة العلامات في أدوات المطوّرين

في أدوات المطوّرين في المتصفح ← Application ← Cookies، تحقّق من أن HttpOnly محددة، وSecure محددة، وأن SameSite تعرض Strict أو Lax.

من دون HttpOnly

يمكن لبرنامج نصي ضار حُقن عبر XSS تشغيل document.cookie وقراءة معرّف الجلسة وإرساله إلى المهاجم، وبذلك يستولي على الحساب.

من دون Secure

في موقع يستخدم HTTP وHTTPS معًا، يُرسل ملف تعريف ارتباط الجلسة بنص واضح عبر HTTP. ويمكن لمتنصّت على الشبكة سرقته.

الملخّص

احرص دائمًا على ضبط HttpOnly وSecure لملفات تعريف ارتباط الجلسات والمصادقة. أضف SameSite=Strict أو Lax. واستخدم صيغة مصفوفة الخيارات في setcookie().

تحقّق سريعًا

أي علامة تمنع JavaScript من قراءة ملف تعريف الارتباط؟

البدء مجانًا

تعلم PHP مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
49
الدروس
195

الأسئلة الشائعة

هل درس «أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure» مجاني؟

نعم — نص درس «أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure»؟

احموا ملفات تعريف الارتباط باستخدام سمات HttpOnly وSecure وSameSite تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

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

جميع الدروس في هذه الدورة

  1. بدء الجلسات واستخدامها
  2. أفضل ممارسات أمان الجلسات
  3. تعيين ملفات تعريف الارتباط وقراءتها
  4. أمان ملفات تعريف الارتباط: رايتا HttpOnly وSecure
← العودة إلى PHP Academy