3

我想从 PHP 运行 ffmpeg 以进行视频编码。

我正在考虑使用 exec 或 passthru 命令。但是,我被警告说启用这些功能存在安全风险。用我的支持人员的话来说:

指令“disable_functions”用于禁用任何允许执行系统命令的功能。这是为了提高服务器的安全性。如果使用不当,这些 PHP 函数可以用来破解服务器。

我猜如果启用了 exec,那么有人可以(可能)执行任意的 unix 命令。有谁知道从 PHP 运行 ffmpeg 的安全方法?

顺便说一句,我在专用服务器上。提前谢谢!

4

2 回答 2

7

exec与登录安全终端相比,它本身不会带来安全风险。

这样想,如果您要像这样列出目录的内容

exec( 'ls /foo/bar' );

您的用户发送给您的 php 脚本的内容并不重要,它只会列出指定的目录。

只要您仔细清理用户的任何输入,并避免输出敏感信息,您就可以了。

在命令行上运行输入之前,请使用以下方法对输入进行清理:

于 2009-06-18T03:01:52.793 回答
0

您可以尝试使用 ffmpeg-php 库...在这里找到:http: //sourceforge.net/projects/ffmpeg-php/

于 2010-07-07T21:42:59.487 回答