يحمي Laravel التطبيقات من هجمات شائعة بإعدادات افتراضية: الاستعلامات المجهزة تحد حقن SQL، وBlade يهرب المخرجات، والنماذج تتضمن رموز CSRF، وكلمات المرور تُجزّأ. تفيد هذه الحماية ما لم تتجاوزها. تغطي هذه القائمة ما نراجعه قبل الإطلاق وخلال صيانة مشاريع العملاء؛ وهي بداية عملية وليست بديلًا عن تقييم أمني كامل.
المصادقة والجلسات
كلمات المرور وتسجيل الدخول
- استخدم التجزئة في Laravel ولا تنشئ آلية خاصة، وحدد حدًا أدنى معقولًا لطول كلمة المرور.
- حدد معدل محاولات الدخول وإعادة كلمة المرور والرموز المؤقتة للحد من التخمين.
- وفر المصادقة الثنائية للمسؤولين ومن يصلون إلى بيانات حساسة.
- جدد الجلسة عند الدخول وأبطلها عند الخروج.
ملفات الارتباط والجلسات
لا تقدم التطبيق إلا عبر HTTPS، واجعل ملفات الجلسة آمنة وHTTP-only، واختر إعداد SameSite مناسبًا. حدد مدة الجلسة بحسب حساسية البيانات، واجعلها أقصر في مناطق الإدارة.
التفويض: من يحق له فعل ماذا؟
من أكثر الثغرات الخطيرة شيوعًا خلل التحكم في الوصول. قد يغير المستخدم رقمًا في URL فيرى فاتورة عميل آخر. امنع ذلك بطريقة منهجية:
- عرّف policies لكل نموذج واستدعها في المتحكمات أو طلبات النماذج أو وسيط المسار.
- قيد الاستعلام بالمستخدم أو المستأجر بدل جلب السجل بالمعرف وحده.
- تحقق من الصلاحية على الخادم لكل إجراء حتى إن أخفي الزر في الواجهة.
- اكتب اختبارات ميزات تثبت عجز المستخدم عن قراءة سجلات غيره أو تعديلها.
في المنتجات متعددة المستأجرين مثل منصة المواقع VnuMngr تكون اختبارات العزل من أوائل ما نكتبه.
المدخلات والمخرجات والملفات
تحقق من كل مدخل
استخدم form requests بقواعد واضحة للنوع والطول والقيم المسموحة. استخدم البيانات التي اجتازت التحقق لا الطلب الخام، وحدد الحقول القابلة للتعبئة في النماذج لمنع تعيين حقول مثل الدور والسعر جماعيًا.
تعامل بحذر مع النص المنسق
إذا أرسل المستخدم أو المحرر HTML، فنظفه بقائمة سماح من الوسوم والخصائص قبل الحفظ، ولا تعرض HTML غير موثوق دون تنظيف. نطبق هذا النهج في متن كل مقال على مدونتنا.
تعامل مع الرفع بأمان
تحقق من نوع الملف وحجمه، وأنشئ أسماء الملفات بنفسك، وخزن الملفات خارج المسار العام ما لم تكن مخصصة للنشر. قدم الملفات الخاصة عبر مسارات مفوضة أو روابط موقعة قصيرة العمر. لا تنفذ الملفات المرفوعة ولا تضمّنها.
الأسرار والإعدادات والتبعيات
أبقِ الأسرار خارج الشيفرة
خزن المفاتيح وكلمات المرور والرموز في متغيرات البيئة أو مدير أسرار، لا في المستودع. عطّل وضع التصحيح في الإنتاج لأن صفحات التصحيح تكشف الإعدادات والشيفرة. دوّر الاعتمادات عند مغادرة موظف أو الاشتباه بالتسريب، وشفّر القيم الحساسة في قاعدة البيانات.
حدّث التبعيات بانتظام
تستغل اختراقات كثيرة عيوبًا معروفة في برامج قديمة. حدّث Laravel وPHP والحزم، وشغل composer audit ضمن خط التطوير، وأزل الحزم التي لم تعد تستخدمها، وافعل الشيء نفسه لحزم الواجهة.
البنية التحتية والتشغيل
حصّن الخادم
افتح المنافذ اللازمة فقط، وحدّث نظام التشغيل، وشغل التطبيق بمستخدم محدود الصلاحيات، وامنع الوصول إلى الملفات المخفية والمجلدات الداخلية. اجعل جذر خادم الويب يشير إلى مجلد public وحده.
أضف ترويسات وقائية
أرسل ترويسات مثل سياسة أمن المحتوى وحماية الإطارات ونوع المحتوى وسياسة HSTS. أدخل سياسة أمن المحتوى بحذر، فقد تكسر السياسة المتسرعة سكربتات مشروعة.
سجل وراقب وأنشئ نسخًا احتياطية
سجل أحداثًا أمنية كفشل الدخول وتغيير الصلاحيات وتصدير كميات كبيرة من البيانات، ونبّه إلى الأنماط غير المعتادة. احتفظ بنسخ مشفرة في موقع منفصل واختبر استعادتها؛ فهي خطة التعافي بعد الحوادث أيضًا.
مراجعة أخيرة
- التصحيح معطل وHTTPS مفروض في الإنتاج.
- كل مسار يعيد بيانات خاصة محمي بالمصادقة والتفويض.
- كل المدخلات متحقق منها والنماذج محمية من التعبئة الجماعية.
- الملفات المرفوعة متحقق منها ومحفوظة بأمان.
- الأسرار خارج المستودع وتُدوّر عند الحاجة.
- التبعيات تخضع للتدقيق والتحديث دوريًا.
- السجلات والتنبيهات متاحة، وقد اختُبرت استعادة النسخ.
الأمان عادة مستمرة لا مهمة لمرة واحدة. إذا أردت مراجعة مستقلة لتطبيق Laravel أو فريقًا يدمج الأمان في مشروعك التالي، اطلع على خدماتنا أو تحدث إلى نارمار.



