exec php 安全,安全地使用PHP exec函数

using the exec() function can be a security risk and should be avoided if possible.

这有点概括 – 使用exec()构建安全解决方案是完全可能的.但这确实很难:执行外部程序有很多陷阱,特别是如果你将外部参数传递给它们.

正如你所说,第一步是使用escapeshellarg()来逃避一切,以防止注入其他可能有害的命令.

那么问题是输入错误值的损坏可能会导致被调用的程序.例如,

>对200000 x 200000像素的大视频运行ffmpeg操作可能会导致服务器挂断,因为该调用会尝试分配不可能的内存量.因此,您必须清理用户可以输入的大小值,如果它们太大或不是数字,则退出.

>恶意用户可以告诉ffmpeg使用配置文件并尝试从中创建视频,可能导致配置文件用作输出,因此您需要限制用户可以指定的文件路径范围.

等等等等.

此外,您需要考虑通过仅仅请求数量来杀死服务器的可能性.如果我每秒向PHP脚本发送50个请求,然后又调用复杂的ffmpeg命令,该怎么办?服务器可能很容易在负担下解决,您可能希望防止这种情况发生.

所以:使用exec()时没有固有的安全问题,但是需要仔细查看传递给它的每个传入参数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值