Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
shell 命令是否被认为是合法的编程接口?具体来说,从 PHP 页面或 CGI 文件在 linux 应用服务器上执行 bash shell 命令有什么问题吗?这会带来效率或安全问题吗?
谢谢
有时这是解决问题的最佳方式。
但可能的问题是:
安全
如果您不进行污点检查,请注意代码注入。
表现
运行 shell 命令将涉及分叉PHP 解释器和执行复杂且相对较慢的系统调用。这对于负载较轻的服务器是可以的,但不适用于繁忙的站点。
同步
确保事情以正确的顺序发生可以避免众所周知的问题,称为丢失更新、脏读和不正确的摘要。虽然 shell 命令本身并不是这些事情的原因,但异步运行它们可能是,并且增加系统的复杂性会使分析变得更加困难。
如果是安全的应用程序和服务器,则不会。