أسئلة مقابلات Security, OWASP & Hardening في PHP & Laravel
10 سؤال عن Security, OWASP & Hardening من مسار PHP & Laravel. اقرأ الإجابة المختصرة لكل سؤال هنا، وافتح السؤال للشرح الكامل والأمثلة والأخطاء الشائعة والمصادر.
- مبتدئ
كيف تعمل حماية CSRF في Laravel وما سبب خطأ 419 Page Expired وكيف تعالجه؟
تولد رمز CSRF فريداً لكل جلسة وتتحقق من وجوده في كل طلب POST/PUT/DELETE؛ وسبب 419 هو انتهاء صلاحية الجلسة أو غياب الرمز في النموذج.
اقرأ الشرح الكامل - مبتدئ
ما هي ثغرة الإسناد الشامل (Mass Assignment) وما الفرق بين $fillable و $guarded في Eloquent؟
تحدث عندما يمرر المطور $request->all() مباشرة لـ create() مما يتيح للمستخدم تعديل حقول حساسة مثل is_admin؛ وتمنعها $fillable بقصر التعديل على الحقول البيضاء المسموحة.
اقرأ الشرح الكامل - مبتدئ
كيف يدير Laravel تشفير كلمات المرور باستخدام واجهة Hash Facade؟
تستخدم خوارزمية bcrypt افتراضياً (أو Argon2) مع إضافة Salt وتوليد بصمات بطيئة آمنة عبر Hash::make() والتحقق بـ Hash::check().
اقرأ الشرح الكامل - متوسط
ما الفرق بين البوابات (Gates) والسياسات (Policies) في إدارة الصلاحيات بـ Laravel؟
الـ Gates تُعرف لإجراءات عامة غير مرتبطة بنموذج محدد (مثل الدخول للوحة التحكم)، بينما الـ Policies تنظم الصلاحيات حول نموذج معين (مثل PostPolicy).
اقرأ الشرح الكامل - متوسط
كيف تحمي Eloquent و Query Builder تطبيقات Laravel من ثغرات SQL Injection؟
باستخدام PDO Prepared Statements تلقائياً في كل الدوال القياسية مثل where و find؛ مما يعامل مدخلات المستخدم كقيم مجردة لا تعليمات برمجية.
اقرأ الشرح الكامل - مبتدئ
كيف يحمي محرك Blade من هجمات XSS وما الفرق بين {{ $data }} و {!! $data !!}؟
يقوم {{ $data }} بتمرير النص عبر htmlspecialchars() تلقائياً لمنع تشغيل السكريبتات الخبيثة، بينما {!! $data !!} يخرج النص الخام دون أي حماية.
اقرأ الشرح الكامل - متوسط
ما هي القواعد الأمنية الصارمة لرفع وتخزين الملفات في Laravel؟
التحقق من نوع الـ MIME الحقيقي، وحظر الامتدادات القابلة للتنفيذ (.php, .sh)، وتوليد أسماء عشوائية للملفات، وتخزينها خارج المجلد العام أو في S3.
اقرأ الشرح الكامل - متوسط
ما هو دور مفتاح APP_KEY في Laravel وما خطورة تغييره أو كشفه في الإنتاج؟
هو مفتاح التشفير الأساسي (AES-256) لتأمين الكوكيز، والجلسات، والحقول المشفرة؛ وكشفه يتيح فك وتزوير البيانات، بينما تغييره يعطل فك تشفير البيانات السابقة.
اقرأ الشرح الكامل - متوسط
ما هي الروابط الموقعة (Signed URLs) في Laravel ومتى تستخدم لحماية العمليات الحساسة؟
روابط تحتوي على توقيع رقمي (HMAC Hash) يمنع التلاعب بالمعاملات وتدعم مهلة انتهاء زمنية، وتستخدم لتأكيد البريد الإلكتروني وإعادة تعيين الحسابات.
اقرأ الشرح الكامل - متقدم
كيف تطبق سياسة أمان المحتوى (Content Security Policy) مع الـ Nonce في تطبيقات Laravel؟
بتوليد رمز عشوائي (Nonce) فريد لكل طلب HTTP وتمريره في ترويسة CSP وإدراجه في وسوم <script nonce="..."> لحظر تنفيذ أي سكريبتات محقونة.
اقرأ الشرح الكامل