انتقل إلى محتوى الدرس

CSRF Defense in Depth Summary Table ملخص طبقات الحماية الدفاعية ضد CSRF

احمِ النماذج والعمليات الحساسة من هجمات تزوير الطلبات عبر المواقع CSRF باستخدام random_bytes والمقارنة الثابتة زمنياً hash_equals.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

اجمع بين توكنات المزامنة CSRF وخاصية SameSite للكوكيز وفحص طريقة الطلب HTTP لتحقيق حماية دفاعية متعددة الطبقات.

  • اعتمد على توكن المزامنة (random_bytes مع hash_equals) كخط الدفاع الأساسي ضد CSRF.
  • اضبط كوكيز الجلسة بالخيار "samesite" => "Lax" أو "Strict" كطبقة حماية إضافية من جهة المتصفح.
  • ارفض أي طلب غير مرسل بطريقة POST على مسارات تعديل البيانات برمز الحالة 405 Method Not Allowed.

يتحقق حارس verifyCsrf() من عدم فراغ توكن الجلسة، وسلامة نوع النص، والتطابق الثابت زمنياً في ثلاثة أسطر.

طبقة الحمايةالأداة في PHPالخطر الذي تمنعه
CSPRNG Token Generationbin2hex(random_bytes(32))Token guessing & brute-forcing
Timing-Safe Comparisonhash_equals($sess, $post)Timing side-channel leaks
Token TTL & Rotation$_SESSION["csrf_time"]Stale or replayed tokens
Cookie Policysamesite => "Lax"Cross-site cookie attachment on POST

PHP
<?php
function verifyCsrf(string $sessToken, mixed $postInput): bool {
    if ($sessToken === '' || !is_string($postInput)) {
        return false;
    }
    return hash_equals($sessToken, $postInput);
}
$ok = verifyCsrf("abc123def456", "abc123def456");
echo "Defense check: " . ($ok ? "PASSED" : "BLOCKED") . "\n";
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

اجمع بين توكنات المزامنة CSRF وخاصية SameSite للكوكيز وفحص طريقة الطلب HTTP لتحقيق حماية دفاعية متعددة الطبقات. اعتمد على توكن المزامنة (random_bytes مع hash_equals) كخط الدفاع الأساسي ضد CSRF. اضبط كوكيز الجلسة بالخيار "samesite" => "Lax" أو "Strict" كطبقة حماية إضافية من جهة المتصفح. ارفض أي طلب غير مرسل بطريقة POST على مسارات تعديل البيانات برمز الحالة 405 Method Not Allowed.