تهدف هذه الحزمة إلى حماية تطبيق Laravel الخاص بك من أنواع مختلفة من الهجمات مثل XSS وSQLi وRFI وLFI وUser Agent وغير ذلك الكثير. كما أنه سيمنع الهجمات المتكررة ويرسل إشعارًا عبر البريد الإلكتروني و/أو Slack عند اكتشاف الهجوم. علاوة على ذلك، فإنه سيتم تسجيل عمليات تسجيل الدخول الفاشلة وحظر عنوان IP بعد عدد من المحاولات.
ملحوظة: بعض فئات البرامج الوسيطة (مثل Xss) تكون فارغة لأن فئة مجردة Middleware
التي تقوم بتوسيعها تقوم بكل المهمة ديناميكيًا. باختصار كلهم شغالين ;)
قم بتشغيل الأمر التالي:
يتطلب الملحن akaunting/laravel-firewall
نشر التكوين واللغة والترحيلات
بائع PHP الحرفي: نشر --tag=جدار الحماية
إنشاء جداول ديسيبل
ترحيل الحرفيين PHP
يمكنك تغيير إعدادات جدار الحماية لتطبيقك من ملف config/firewall.php
تم تعريف البرامج الوسيطة بالفعل، لذا يجب إضافتها إلى المسارات. يطبق البرنامج الوسيط firewall.all
جميع البرامج الوسيطة المتوفرة في مصفوفة all_middleware
الخاصة بملف التكوين.
الطريق :: المجموعة (['البرامج الوسيطة' => 'firewall.all']، الوظيفة () { الطريق::get('/', 'HomeController@index'); });
يمكنك تطبيق كل برنامج وسيط لكل مسار. على سبيل المثال، يمكنك السماح فقط لعناوين IP المدرجة في القائمة البيضاء بالوصول إلى المسؤول:
الطريق :: المجموعة (['البرامج الوسيطة' => 'firewall.whitelist']، الوظيفة () { الطريق::get('/admin', 'AdminController@index'); });
أو يمكنك الحصول على إشعار عندما لا يكون أي شخص مدرجًا في whitelist
لمسؤول الوصول، وذلك عن طريق إضافته إلى تكوين inspections
:
الطريق :: المجموعة (['البرامج الوسيطة' => 'firewall.url']، الوظيفة () { الطريق::get('/admin', 'AdminController@index'); });
البرامج الوسيطة المتاحة التي تنطبق على المسارات:
جدار الحماية.جميع firewall.agent جدار الحماية.bot جدار الحماية.geo جدار الحماية.ip جدار الحماية.lfi جدار الحماية.php جدار الحماية.المرجع جدار الحماية.rfi جدار الحماية.جلسة جدار الحماية.sqli جدار الحماية.أقسم جدار الحماية.url firewall.whitelist جدار الحماية.xss
يمكنك أيضًا تحديد routes
لكل برنامج وسيط في config/firewall.php
وتطبيق ذلك البرنامج الوسيط أو firewall.all
في أعلى جميع المسارات.
سيرسل جدار الحماية إشعارًا بمجرد اكتشاف الهجوم. يجب أن تكون رسائل البريد الإلكتروني المُدخلة في تكوين notifications.email.to
لمستخدمي Laravel صالحين حتى يتمكنوا من إرسال الإشعارات. راجع وثائق الإشعارات الخاصة بـ Laravel لمزيد من المعلومات.
يرجى الاطلاع على الإصدارات للحصول على مزيد من المعلومات حول ما تغير مؤخرًا.
طلبات السحب هي أكثر من موضع ترحيب. يجب عليك اتباع معايير الترميز PSR.
يرجى مراجعة سياستنا الأمنية حول كيفية الإبلاغ عن الثغرات الأمنية.
دينيس دوليتشي
جميع المساهمين
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على الترخيص لمزيد من المعلومات.