codelayer/bubblewrap

使用 bubblewrap 的沙箱控制台命令

v1.5.0 2022-06-22 13:16 UTC

This package is auto-updated.

Last update: 2024-09-22 18:07:17 UTC


README

License: MIT Packagist Version

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