我想从PHP运行ffmpeg用于视频编码。
我在考虑使用exec或passthru命令。但是,我被警告说启用这些功能存在安全风险。用我的支持人员的话来说:
指令'disable_functions'用于禁用任何允许执行系统命令的函数。这是为了提高服务器的安全性。如果使用不当,这些PHP函数可用于破解服务器。
我猜测如果启用了exec,那么有人可能(可能)执行任意unix命令。有没有人知道从PHP运行ffmpeg的安全方法?
顺便说一下,我在专用服务器上。提前谢谢!
答案 0 :(得分:7)
exec
本身不会比登录安全终端带来安全风险。
这样想,如果要列出像这样的目录的内容
exec( 'ls /foo/bar' );
用户发送到您的php脚本无关紧要,它只会列出指定的目录。
只要您小心清理用户的任何输入,并且不要输出敏感信息,您就可以了。
在命令行上运行输入之前,请使用以下方法对输入进行整形:
答案 1 :(得分:0)
您可以尝试使用ffmpeg-php库...在此处找到:http://sourceforge.net/projects/ffmpeg-php/