PHP - 记录exec()调用

时间:2016-09-14 18:26:10

标签: php

有没有办法记录所有对exec()PHP进行的调用?例如,记录PHP文件和行号,以及带参数的目标可执行文件。

由于

1 个答案:

答案 0 :(得分:1)

你有几个选择,其中没有一个是伟大的:

  • 如果您安装了PECL APD,则可以使用override_function()
  • 如果您安装了PECL runkit,则可以使用runkit_function_redefine()
  • 如果你能够用命名空间包装所有相关代码(可能通过auto_prepend_file设置),你可以定义一个新的exec()函数。
  • 启用safe_mode并在safe_mode_exec_dir中添加包装脚本。人们唯一能够执行的是包装器,它可以记录命中,然后产生请求的命令。

如果你担心得到什么是exec(),最好的办法就是把它(及其兄弟)添加到disabled_functions列表中来关闭它。