existenznl/permcheck

PermCheck 是一个用于验证 PHP 项目中文件可执行位的工具

3.0.0 2022-09-07 22:06 UTC

README

Build Status Packagist Packagist Packagist Sponsors

关于

PermCheck 是一个小工具,用于检查项目中的文件是否设置了正确可执行位。它适用于 PHP 5.6 及以上版本(1.0 版本支持 PHP 5.3),依赖性非常低,因此您几乎可以将它添加到任何项目中。

PermCheck 的目标是防止不一致的可执行位和随机可执行文件,从而使项目更加一致和更加安全。

安装

可以通过运行以下命令将 PermCheck 添加为 composer 包:

composer require --dev existenznl/permcheck

配置

PermCheck 使用包含目录和可执行文件部分的 XML 配置文件。

目录部分应包含所有要检查的项目目录,而可执行文件部分应包含所有应可执行文件。所有找到但不在可执行文件部分中的文件都被认为是预期不可执行。

示例

<permcheck>
    <excludes>
        <dir>.git</dir>
        <dir>vendor/</dir>
        <file>dontcare.sh</file>
    </excludes>
    <executables>
        <file>cli/console</file>
    </executables>
</permcheck>

在上面的示例配置中,除了 .git 和 vendor 目录以及 dontcare.sh 文件之外,所有内容都会被验证,而只有文件 cli/console 必须可执行。

如果不满足条件,PermCheck 将会报错。

如果其他文件可执行,PermCheck 也会报错。

使用方法

在代码库中存储配置 XML 后,我们现在可以开始使用 PermCheck。

执行 permcheck 通过运行带有所需/所需标志和选项的命令很简单。

vendor/bin/permcheck <--config|-c=...> [--directory|-d=...]

PermCheck 使用了 Symfony 2 的 控制台组件,因此标志和选项可以按照 SF2 控制台组件文档中概述的各种格式指定。

以下选项和标志可用

错误、问题和改进

如果您发现了一个错误或有任何问题,请打开 GitHub 问题跟踪器上的问题。可以通过针对 develop 分支的拉取请求发送改进,并将非常感谢!