codelayer / bubblewrap
使用 bubblewrap 的沙箱控制台命令
v1.5.0
2022-06-22 13:16 UTC
Requires
- symfony/process: ^4.0|^5.0|^6.0
Requires (Dev)
- phpunit/phpunit: >=6.5 <10
This package is auto-updated.
Last update: 2024-09-22 18:07:17 UTC
README
A PHP wrapper class for the bubblewrap cli tool. Can be used to execute external commands like imagemagick or ghostscript in a separated environment as a protection against possible security issues.
安装
可以使用 composer 安装此软件包
$ composer require codelayer/bubblewrap
用法
目前,大多数不接受文件描述符作为参数的命令都已实现。以下代码片段显示了 bubblewrap README 中的示例在 PHP 中的样子
$bwrap = new \Codelayer\Bubblewrap\Bubblewrap(); $bwrap ->readOnlyBind('/usr') // If src equals dest only one parameter is required for bind commands ->symlink('usr/lib64', '/lib') ->proc() // /proc is used as default location for procfs ->dev() // /dev is used as default location for devtmpfs ->unsharePid() ->exec(['bash']);
Exec 返回一个 Symfony Process 对象。
额外方法
有另外两种方法可以修改调用 bubblewrap 的方式
setBinary($binary)
设置 bwrap 二进制文件的位置clearEnv()
在 bwrap 调用前添加env -i
并取消所有环境变量getCommand($cmd)
显示exec($cmd)
将执行的完整命令
许可证
此软件包采用 MIT 许可证授权。有关更多信息,请参阅LICENSE 文件。
关于我们
codelayer 是一家位于德国卡尔斯鲁厄的软件公司,专注于网络应用程序开发。
有关 codelayer 的更多信息,请访问我们的网站codelayer.de。