vendor/sensiolabs/security-checker/SensioLabs/Security/Formatters/SimpleFormatter.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
/*
* This file is part of the SensioLabs Security Checker.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SensioLabs\Security\Formatters;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Helper\FormatterHelper;
class SimpleFormatter implements FormatterInterface
{
public function __construct(FormatterHelper $formatter)
{
$this->formatter = $formatter;
}
/**
* Displays a security report as simple plain text.
*
* @param OutputInterface $output
* @param string $lockFilePath The file path to the checked lock file
* @param array $vulnerabilities An array of vulnerabilities
*/
public function displayResults(OutputInterface $output, $lockFilePath, array $vulnerabilities)
{
$output->writeln(sprintf('Security Check Report: <comment>%s</>', realpath($lockFilePath)));
if ($count = count($vulnerabilities)) {
$status = 'CRITICAL';
$style = 'error';
} else {
$status = 'OK';
$style = 'info';
}
$output->writeln(sprintf('<%s>[%s] %d %s known vulnerabilities</>', $style, $status, $count, 1 === $count ? 'package has' : 'packages have'));
if (0 !== $count) {
$output->write("\n");
foreach ($vulnerabilities as $dependency => $issues) {
$dependencyFullName = $dependency.' ('.$issues['version'].')';
$output->writeln('<info>'.$dependencyFullName."\n".str_repeat('-', strlen($dependencyFullName))."</>\n");
foreach ($issues['advisories'] as $issue => $details) {
$output->write(' * ');
if ($details['cve']) {
$output->write('<comment>'.$details['cve'].': </comment>');
}
$output->writeln($details['title']);
if ('' !== $details['link']) {
$output->writeln(' '.$details['link']);
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。