
Stellen Sie sich Enlightn als Ihren Leistungs- und Sicherheitsberater vor. Enlightn "überprüfen" Ihre Code- und Serverkonfigurationen und gibt Ihnen umsetzbare Empfehlungen zur Verbesserung der Leistung, Sicherheit und Zuverlässigkeit!
Die Version des Enlightn OSS (Open Source -Software) verfügt über 66 automatisierte Überprüfungen, mit denen Sie Ihren Anwendungscode, Webserverkonfigurationen und Routen scannen, um Leistungsgpässe, mögliche Sicherheitslücken und Probleme mit der Codezuverlässigkeit zu identifizieren.
Enlightn Pro (Commercial) ist auf der ENLIGHTN -Website zum Kauf erhältlich und verfügt über weitere 64 automatisierte Schecks (insgesamt 131 Schecks ).
Jede der 131 verfügbaren Schecks sind gut dokumentiert. Hier finden Sie die vollständige Dokumentation.
| Erleuchtung | Laravel | Larastan | 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+ |
Hinweis: Die gleiche Kompatibilitätsmatrix gilt für Enlightn Pro -Versionen.
Sie können Enlightn mit dem Composer Package Manager in Ihrem Projekt installieren:
composer require enlightn/enlightnNach der Installation von Enlightn können Sie seine Vermögenswerte mit dem Befehl Anbieter veröffentlichen: Veröffentlichung von Artisan: Veröffentlichung:
php artisan vendor:publish --tag=enlightnHINWEIS: Wenn Sie Enlightn Pro installieren müssen, besuchen Sie die Dokumentation auf der Enlightn -Website hier.
Führen Sie nach der Installation von Enlightn einfach den Befehl enlightn Artisan aus, um Enlightn auszuführen:
php artisan enlightn Sie können das Flag --report hin, wenn Sie Ihre Berichte neben dem Terminal in der ENLIGHTN -Web -Benutzeroberfläche anzeigen möchten:
php artisan enlightn --reportWenn Sie bestimmte Analysatorklassen ausführen möchten, können Sie diese als optionale Argumente angeben:
php artisan enlightn Enlightn \ Enlightn \ Analyzers \ Security \ CSRFAnalyzer Enlightn \ EnlightnPro \ Analyzers \ Security \ DirectoryTraversalAnalyzerBeachten Sie, dass die Klassennamen vollständig qualifiziert und mit doppelten Schrägstrichen wie oben geflohen sein sollten.
Wenn Sie die vollständige Erlebniserfahrung erhalten möchten, wird empfohlen, dass Sie zumindest einmal in der Produktion erleuchtet werden. Dies liegt daran, dass einige der Überprüfungen von Enlightn umweltspezifisch sind. Daher können sie nur ausgelöst werden, wenn Ihre App -Umgebung Produktion ist.
Falls Sie nicht in der Produktion ausführen möchten, können Sie eine Produktionsumgebung simulieren, indem Sie Ihr App_Env auf Produktion einstellen, Dienste einrichten und so nah wie möglich an Produktion einrichten und Ihr Produktionsbereitstellungsskript lokal ausführen. Dann führen Sie den Befehl Enlightn Artisan aus.
Standardmäßig unterstreicht der Befehl enlightn Artisan die Dateipfade, die zugehörigen Zeilennummern und eine Nachricht für jede fehlgeschlagene Prüfung. Wenn Sie für jede Zeile detaillierte Fehlermeldungen anzeigen möchten, können Sie die Option --details verwenden:
php artisan enlightn --details Wenn Sie Enlightn in Ihren CI integrieren möchten, können Sie einfach die Option --ci auslösen, wenn Sie Enlightn in Ihrem CI/CD -Tool ausführen:
php artisan enlightn --ci Sie können das Flag --report Sie in der Reportierung hin, wenn Sie Ihre CI -Berichte in der ENLIGHTN -Web -Benutzeroberfläche anzeigen möchten. Denken Sie daran, Ihre Projektanmeldeinformationen zu Ihrer hier erläuterten config/enlightn.php -Datei hinzuzufügen.
php artisan enlightn --ci --reportENLIGHTN PRE-Configures, die Analysatoren im CI-Modus für Sie ausgeführt werden können. Daher schließt der obige Befehl Analysatoren aus, die ein vollständiges Setup benötigen (z. B. Analysatoren mit dynamischer Analyse).
Weitere Informationen zur CI -Integration finden Sie in der Enlightn -Dokumentation.
Insbesondere in CI -Umgebungen möchten Sie möglicherweise die aktuell gemeldete Liste der Fehler als "Grundlinie" erklären. Dies bedeutet, dass die aktuellen Fehler in nachfolgenden Läufen nicht gemeldet werden und nur neue Fehler markiert werden.
Um die Basislinie automatisch zu generieren, können Sie den Befehl enlightn:baseline Artisan ausführen:
php artisan enlightn:baseline Wenn Sie diesen Befehl im CI -Modus ausführen möchten, können Sie die Option --ci verwenden:
php artisan enlightn:baseline --ciWeitere Informationen zum Einrichten einer Basis finden Sie in den Dokumenten.
Enlightn bietet ein wunderschönes Web -UI -Dashboard, in dem Sie Ihre Enlightn -Berichte anzeigen können, die aus Ihrem CI- oder geplanten Befehl ausgelöst werden.
Die Web -Benutzeroberfläche ist für alle Benutzer kostenlos und enthält Folgendes:
Um Zugriff auf die Web -Benutzeroberfläche zu erhalten, müssen Sie lediglich kostenlos auf der ENLIGHTN -Website anmelden und den hier genannten Anweisungen befolgen.
Neben der Integration von Enlightn in Ihr CI/CD -Tool ist es eine gute Praxis, einen erleuchteten Lauf mit regelmäßiger Frequenz (wie täglich oder wöchentlich) wie SO zu planen:
// 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 ' );
}Auf diese Weise können Sie die dynamischen Analyseprüfungen von Enlightn überwachen, die normalerweise von CI ausgeschlossen sind. Die Berichte können in der ELIGHTN Web -Benutzeroberfläche angezeigt werden.
Enlightn bietet einen Github -Bot an, mit dem ein Bericht ausgefallen ist, in dem fehlgeschlagene Überprüfungen hervorgehoben werden können, und Überprüfungskommentare für Pull -Anfragen in den Codezeilen hinzufügen, die neue Probleme einführen.
Um sich in den Enlightn Github -Bot zu integrieren, lesen Sie die Dokumente.
Alle Überprüfungen, die fehlschlagen, enthalten eine Beschreibung, warum sie zusammen mit den zugehörigen Codezeilen (falls zutreffend) fehlgeschlagen sind, und einen Link zur Dokumentation für die spezifische Überprüfung.
Nachdem alle Überprüfungen ausgeführt wurden, gibt der Befehl enlightn Artisan einen Zeugnis aus, der Informationen darüber enthält, wie viele Prozentsatz der Schecks bestanden, fehlgeschlagen oder übersprungen wurden.
Die als "nicht zutreffenden" angegebenen Schecks waren nicht für Ihren spezifischen Antrag anwendbar und wurden übersprungen. Beispielsweise ist der CSRF -Analysator nicht für staatenlose Anwendungen anwendbar.
Die unter der "Fehler" -Zeile gemeldeten Schecks geben die Analysatoren an, die während der Analyse bei Ausnahmen fehlgeschlagen sind. Normalerweise sollte dies nicht geschehen, aber wenn dies der Fall ist, wird die zugehörige Fehlermeldung angezeigt und kann etwas mit Ihrer Anwendung zu tun haben.
Eine gute Praxis wäre, jedes Mal Enlightn auszuführen, wenn Sie Code bereitstellen oder eine neue Version verschieben. Es wird empfohlen, Enlightn in Ihr CI/CD -Tool so zu integrieren, dass es für jeden Druck oder jede neue Version ausgelöst wird.
Neben den automatisierten CI -Überprüfungen sollten Sie auch die regelmäßige Frequenz mit einem geplanten Konsolenbefehl wie oben beschrieben ausführen. Auf diese Weise können Sie die dynamischen Analyseprüfungen überwachen, die normalerweise von CI ausgeschlossen sind.
Für Enlightn werden nur MacOS- und Linux -Systeme unterstützt. Windows wird derzeit nicht unterstützt.
Vielen Dank, dass Sie überlegt haben, zu Enlightn beizutragen! Der Beitragsleitfaden finden Sie hier.
Unsere Unterstützungsrichtlinie finden Sie in der Dokumentation der erleuchteten Dokumentation.
Das Enlightn OSS (auf diesem Github -Repo) ist unter der Lizenz LGPL V3 (oder später) lizenziert.
Enlightn Pro ist unter einer kommerziellen Lizenz lizenziert.