封装要点(Python 示意)
封装要点(Python 示意)
import subprocess
ALLOWED = {'convert', 'ffmpeg'}
def run_tool(tool, args, timeout=30):
if tool not in ALLOWED:
raise ValueError('tool not allowed')
proc = subprocess.run([tool, *args], capture_output=True, timeout=timeout, check=False)
return proc.returncode, proc.stdout工程要求
工程要求
参数来自枚举/数值/校验后的格式
不允许用户传入命令片段
设置超时与输出大小限制
执行账号降权、工作目录隔离把命令执行集中到单一封装函数,便于审计与静态检查(检索 subprocess/os.system 调用点)。