
将Enlightn视为您的绩效和安全顾问。 Enlightn将“查看”您的代码和服务器配置,并为您提供有关提高性能,安全性和可靠性的可行建议!
Enlightn OSS(开源软件)版本具有66个自动检查,可扫描您的应用程序代码,Web服务器配置和路由,以识别性能瓶颈,可能的安全性漏洞和代码可靠性问题。
Enlightn Pro(商业)可在Enlightn网站上购买,并提供64张自动支票(总计131张支票)。
可用的131项检查中的每一个都有充分的记录。您可以在此处找到完整的文档。
| 启蒙 | 拉拉维尔 | 拉斯坦 | 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版本。
您可以使用Composer软件包管理器将Enlightn安装到项目中:
composer require enlightn/enlightn安装Enlightn后,您可以使用供应商发布其资产:Publish Artisan命令:
php artisan vendor:publish --tag=enlightn注意:如果您需要安装Enlightn Pro,请访问此处的Enlightn网站上的文档。
安装Enlightn后,只需运行enlightn Artisan命令即可运行Enlightn:
php artisan enlightn如果您想在终端之外的Enlightn Web UI中查看报告,则可以添加--report标志:
php artisan enlightn --report如果您希望运行特定的分析仪类,则可以将其指定为可选参数:
php artisan enlightn Enlightn \ Enlightn \ Analyzers \ Security \ CSRFAnalyzer Enlightn \ EnlightnPro \ Analyzers \ Security \ DirectoryTraversalAnalyzer请注意,班级名称应完全合格,并以上面的双重斜线逃脱。
如果您想获得完整的Enlightn体验,建议您至少在生产中运行一次Enlightn。这是因为Demlightn的一些检查是特定于环境的。因此,只有当您的应用程序环境生产时,它们才可能会触发。
如果您不想在生产上运行,则可以通过将APP_ENV设置为生产,设置服务和配置,并在本地运行生产部署脚本来模拟生产环境。然后运行Enlightn Artisan命令。
默认情况下, enlightn工匠命令突出显示了文件路径,关联的行号和每个失败检查的消息。如果您想显示每行的详细错误消息,则可以使用--details选项:
php artisan enlightn --details如果您希望将Enlightn与CI集成,则可以在CI/CD工具中运行Enlightn时简单地触发--ci选项:
php artisan enlightn --ci如果您想在Enlightn Web UI中查看CI报告,则可以添加--report标志。请记住,将您的项目凭据添加到您的config/enlightn.php文件中,如下所述。
php artisan enlightn --ci --report分析仪可以在CI模式下运行的Enlightn预配置。因此,以上命令不包括需要完整设置的分析仪(例如,使用动态分析)。
有关CI集成的更多信息,请参阅启蒙文档。
有时,尤其是在CI环境中,您可能需要将当前报告的错误列表声明为“基线”。这意味着当前错误将不会在随后的运行中报告,并且只会标记新错误。
要自动生成基线,您可以运行enlightn:baseline工匠命令:
php artisan enlightn:baseline如果您希望以CI模式运行此命令,则可以使用--ci选项:
php artisan enlightn:baseline --ci有关建立基线的更多信息,请参考文档。
Enlightn提供了一个漂亮的Web UI仪表板,您可以在其中查看从CI或计划的命令运行触发的Enlightn报告。
Web UI对于所有用户都是免费的,包括以下内容:
要访问Web UI,您需要做的就是在Enlightn网站上免费注册,并遵循此处提到的说明。
除了将Enlightn与您的CI/CD工具集成在一起之外,也可以按照常规频率(例如每日或每周)这样的启蒙跑步来安排一个好习惯:
// 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 Web UI上查看报告。
Enlightn提供了一个GitHub机器人,该机器人可以准备一份报告,以突出显示失败的支票,并在引入新问题的代码线上添加评论评论。
要与启蒙GitHub机器人集成,请参阅文档。
所有失败的检查都将包括描述为什么它们与相关的代码(如果适用)以及指向特定检查文档的链接的描述。
最后,在进行了所有检查之后, enlightn Artisan命令将输出一张成绩单,其中包含有关通过,失败或跳过多少支票的信息和多少百分比。
所示为“不适用”的支票不适用于您的特定申请并跳过。例如,CSRF分析仪不适用于无状态应用程序。
“错误”行下报告的检查表明分析过程中有例外的分析仪。通常,这不应该发生,但是如果这样做,将显示关联的错误消息,并且可能与您的应用程序有关。
一个好的做法是每次部署代码或推出新版本时运行Enlightn。建议将Enlightn与您的CI/CD工具集成在一起,以便为每个推送或新版本触发它。
除了自动化的CI检查外,您还应该使用上述计划的控制台命令在常规频率上运行Enlightn。这将允许您监视动态分析检查,该检查通常从CI中排除。
只有MacOS和Linux系统才能用于Enlightn。 Windows当前不支持。
感谢您考虑为Enlightn做出贡献!可以在此处找到贡献指南。
我们的支持政策可以在启蒙文档中找到。
Enlightn OSS(在此GitHub仓库上)由LGPL V3(或更高版本)许可获得许可。
Enlightn Pro已获得商业许可证的许可。