
فكر في Enlightn كمستشار أدائك وأمانك. ستقوم Enlightn "بمراجعة" تكوينات الكود والخادم الخاص بك ، وتمنحك توصيات عملية حول تحسين الأداء والأمان والموثوقية!
يحتوي إصدار Enlightn OSS (برنامج مفتوح المصدر) على 66 شيكًا تلقائيًا يقوم بمسح رمز التطبيق الخاص بك وتكوينات خادم الويب والطرق لتحديد اختناقات الأداء ، ونقاط الأمن المحتملة ومشكلات موثوقية الكود.
يتوفر Enlightn Pro (التجاري) للشراء على موقع Enlightn ويحتوي على 64 شيكًا تلقائيًا إضافيًا (إجمالي 131 شيكًا ).
يتم توثيق كل من 131 شيكات متوفرة بشكل جيد. يمكنك العثور على الوثائق الكاملة هنا.
| Enlightn | لارافيل | لاراستان | phpstan |
|---|---|---|---|
| 1.x | 6.x-9.x | 0.6x-1.x | 0.12x-1.1x |
| 2.x | 9.x-11.x | 2.x | 1.4x+ |
ملاحظة: تنطبق مصفوفة التوافق نفسها على إصدارات Enlightn Pro.
يمكنك تثبيت Enlightn في مشروعك باستخدام مدير حزمة الملحن:
composer require enlightn/enlightnبعد تثبيت Enlightn ، يمكنك نشر أصولها باستخدام البائع: نشر الأمر الحرفي:
php artisan vendor:publish --tag=enlightnملاحظة: إذا كنت بحاجة إلى تثبيت Enlightn Pro ، تفضل بزيارة الوثائق على موقع Enlightn هنا.
بعد تثبيت Enlightn ، ما عليك سوى تشغيل أمر enlightn Artisan لتشغيل Enlightn:
php artisan enlightn يمكنك إضافة علامة --report ، إذا كنت ترغب في عرض تقاريرك في واجهة المستخدم على الويب Enlightn إلى جانب المحطة:
php artisan enlightn --reportإذا كنت ترغب في تشغيل فئات محلل محددة ، فيمكنك تحديدها كوسائط اختيارية:
php artisan enlightn Enlightn \ Enlightn \ Analyzers \ Security \ CSRFAnalyzer Enlightn \ EnlightnPro \ Analyzers \ Security \ DirectoryTraversalAnalyzerلاحظ أن أسماء الفصول يجب أن تكون مؤهلة بالكامل ونهرب مع قطع مزدوجة على النحو الوارد أعلاه.
إذا كنت ترغب في الحصول على تجربة Enlightn الكاملة ، فمن المستحسن أن تقوم على الأقل بتشغيل Enlightn مرة واحدة في الإنتاج. وذلك لأن العديد من شيكات Enlightn هي البيئة الخاصة. لذلك قد يتم تشغيلها فقط عندما تكون بيئة التطبيق الخاصة بك هي الإنتاج.
في حال كنت لا ترغب في تشغيل الإنتاج ، يمكنك محاكاة بيئة الإنتاج عن طريق تعيين App_env الخاص بك على الإنتاج ، وإعداد الخدمات والتكوين في أقرب وقت ممكن من الإنتاج وتشغيل البرنامج النصي نشر الإنتاج محليًا. ثم قم بتشغيل القيادة الحرفية Enlightn.
بشكل افتراضي ، يبرز الأمر enlightn Artisan مسارات الملف وأرقام الأسطر المرتبطة ورسالة لكل فحص فاشل. إذا كنت ترغب في عرض رسائل خطأ مفصلة لكل سطر ، فيمكنك استخدام خيار --details :
php artisan enlightn --details إذا كنت ترغب في دمج Enlightn مع CI الخاص بك ، يمكنك ببساطة تشغيل خيار --ci عند تشغيل Enlightn في أداة CI/CD الخاصة بك:
php artisan enlightn --ci يمكنك إضافة علامة --report إذا كنت ترغب في عرض تقارير CI الخاصة بك في واجهة المستخدم على شبكة الإنترنت Enlightn. تذكر أن تضيف بيانات اعتماد المشروع إلى ملف config/enlightn.php كما هو موضح هنا.
php artisan enlightn --ci --reportEnlightn مسبقات التي يمكن تشغيلها في وضع CI بالنسبة لك. لذلك ، يستبعد الأمر أعلاه التحليلات التي تحتاج إلى إعداد كامل لتشغيله (على سبيل المثال المحللون باستخدام التحليل الديناميكي).
لمزيد من المعلومات حول تكامل CI ، راجع وثائق Enlightn.
في بعض الأحيان ، خاصة في بيئات CI ، قد ترغب في إعلان قائمة الأخطاء التي تم الإبلاغ عنها حاليًا باسم "خط الأساس". هذا يعني أنه لن يتم الإبلاغ عن الأخطاء الحالية في عمليات التشغيل اللاحقة وسيتم وضع علامة على الأخطاء الجديدة فقط.
لإنشاء خط الأساس تلقائيًا ، يمكنك تشغيل enlightn:baseline الحرفي:
php artisan enlightn:baseline إذا كنت ترغب في تشغيل هذا الأمر في وضع CI ، فيمكنك استخدام خيار --ci :
php artisan enlightn:baseline --ciلمزيد من المعلومات حول إنشاء خط الأساس ، راجع المستندات.
يوفر Enlightn لوحة معلومات ويب جميلة حيث يمكنك عرض تقارير Enlightn التي تم تشغيلها من CI أو تشغيل الأمر المجدول.
واجهة مستخدم الويب مجانية لجميع المستخدمين وتتضمن ما يلي:
للوصول إلى واجهة المستخدم على الويب ، كل ما عليك فعله هو التسجيل مجانًا على موقع Enlightn واتبع التعليمات المذكورة هنا.
إلى جانب دمج Enlightn مع أداة CI/CD الخاصة بك ، من الممارسات الجيدة جدولة تشغيل Enlightn على تردد منتظم (مثل يوميًا أو أسبوعيًا) مثل ذلك:
// In your app/Console/Kernel.php file:
/**
* Define the application's command schedule.
*
* @param IlluminateConsoleSchedulingSchedule $schedule
* @return void
*/
protected function schedule ( Schedule $ schedule )
{
$ schedule -> command ( ' enlightn --report ' )-> runInBackground ()-> daily ()-> at ( ' 01:00 ' );
}سيتيح لك ذلك مراقبة اختبارات التحليل الديناميكي لـ Enlightn ، والتي يتم استبعادها عادة من CI. يمكن الاطلاع على التقارير على واجهة المستخدم على شبكة الإنترنت Enlightn.
يقدم Enlightn روبوت Github يمكنه إعداد تقرير يسلط الضوء على الشيكات الفاشلة وأيضًا إضافة تعليقات مراجعة لطلبات السحب على خطوط الكود التي تقدم مشكلات جديدة.
للتكامل مع بوت enlightn github ، راجع المستندات.
ستتضمن جميع الشيكات التي تفشل وصفًا لسبب فشلها مع الخطوط المرتبطة بالرمز (إن أمكن) ورابط إلى الوثائق الخاصة بالتحقق المحدد.
أخيرًا ، بعد تشغيل جميع الشيكات ، ستخرج أمر enlightn Artisan بطاقة تقرير ، والتي تحتوي على معلومات حول عدد ونسبة الشيكات التي تم تمريرها أو فشلها أو تخطيها.
لا تنطبق الشيكات المشار إليها على أنها "غير قابلة للتطبيق" على تطبيقك المحدد وتم تخطيه. على سبيل المثال ، لا ينطبق محلل CSRF للتطبيقات عديمة الجنسية.
تشير الشيكات المبلغ عنها تحت صف "الخطأ" إلى المحللين الذين فشلوا مع استثناءات أثناء التحليل. عادة ، لا ينبغي أن يحدث هذا ولكن إذا حدث ذلك ، فسيتم عرض رسالة الخطأ المرتبطة بها وقد يكون لها علاقة بتطبيقك.
تتمثل الممارسة الجيدة في تشغيل Enlightn في كل مرة تقوم فيها بنشر التعليمات البرمجية أو دفع إصدار جديد. يوصى بدمج Enlightn مع أداة CI/CD بحيث يتم تشغيلها لكل دفعة أو إصدار جديد.
إلى جانب اختبارات CI الآلية ، يجب أيضًا تشغيل Enlightn على تردد منتظم باستخدام أمر وحدة التحكم المجدولة كما هو موضح أعلاه. سيتيح لك ذلك مراقبة اختبارات التحليل الديناميكي ، والتي يتم استبعادها عادة من CI.
يتم دعم أنظمة MacOS و Linux فقط من أجل Enlightn. لا يتم دعم Windows حاليًا.
شكرا لك على النظر في المساهمة في Enlightn! يمكن العثور على دليل المساهمة هنا.
يمكن العثور على سياسة الدعم لدينا في وثائق Enlightn.
تم ترخيص OSS Enlightn (على هذا Github Repo) بموجب ترخيص LGPL V3 (أو لاحقًا).
Enlightn Pro مرخصة بموجب ترخيص تجاري.