我有兴趣通过从 PHP 脚本调用pdftk(pdft 工具包)来使用它。我打算为此使用该exec()
功能。该命令将遵循以下格式:
pdftk [form_file] fill_form [data_file] output [output_file] flatten
此命令采用表单 PDF 文件 ( form_file
) 并插入 FDF 数据data_file
并将表单展平并将其另存为output_file
.
这是我想通过类似的功能来确保执行此命令的方法exec()
- 目录和文件名不是用户定义的。目录和文件名是根据经过清理的标识符字符串生成的,并且仅包含字母数字字符、破折号、下划线和句点。标识符字符串将具有有限的实用长度。
escapeshellarg()
参数(文件名)在连接到命令之前会被传递(尽管如果后续步骤没有漏洞,这可能是不必要的)。- 整个命令通过
escapeshellcmd()
.
在执行此命令时,我是否忽略了任何安全漏洞?(我现在唯一能想到的是 pdftk 本身是否存在漏洞以及它如何处理文件。)有什么改进这个过程的建议吗?谢谢。