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

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

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

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

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

有帮助吗?

解决方案

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

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

exec( 'ls /foo/bar' );

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

只要您小心地清理用户的任何输入,并避免输出敏感信息,就应该没问题。

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

其他提示

你可以尝试使用ffmpeg-php库...在这里找到: http:// sourceforge达网络/项目/ ffmpeg的-PHP /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top