تخطَّ إلى المحتوى

🛡️ شرح الأمن السيبراني

الحماية من CSRF

الدرس 11 من 25· ⏱ 1 دقائق قراءة

📚 محتوى دفاعي بحت.

ما هي CSRF؟

Cross-Site Request Forgery: خداع متصفّح المستخدم المسجّل لإرسال طلب غير مقصود لموقع يثق به (مثل تغيير بريد أو تحويل) — مستغلًّا أن المتصفّح يرسل ملفّات الجلسة تلقائيًّا.

الحلّ 1: رمز CSRF

يولّد الخادم رمزًا فريدًا لكل جلسة/نموذج، ويتحقّق منه عند الإرسال. المهاجم لا يعرف الرمز.

<form method="post">
  <input type="hidden" name="csrf_token" value="...">
</form>

معظم الأطر توفّره: {% csrf_token %} (Django)، حماية مدمجة في Laravel و Rails.

الحلّ 2: SameSite Cookies

تمنع إرسال ملفّ الجلسة مع طلبات من مواقع أخرى:

Set-Cookie: session=...; SameSite=Strict; Secure; HttpOnly

الحلّ 3: تحقّق من المصدر

افحص ترويسات Origin / Referer للطلبات الحسّاسة.

مبادئ

  • استخدم طرق HTTP الصحيحة (لا تغيّر بيانات عبر GET).
  • فعّل حماية CSRF المدمجة في إطارك.

💡 معظم الأطر الحديثة تحمي من CSRF تلقائيًّا — لا تعطّل هذه الحماية.

🎯 التالي: البرمجة الآمنة.

هل كان هذا الدرس مفيدًا؟