在接受用户传递的参数的服务器上运行可执行文件的最佳实践是什么


what are the best practice to run an executable on a server which takes parameters passed by a user?

我想在ubuntu服务器上运行一个exectable,它接受用户(比如表单)的参数,而这个可执行文件可能需要很长时间才能完成。我目前正在使用php-exec()命令来运行可执行文件(让我们调用可执行文件myExecutable),并将用户提供的参数传递给它。有没有更好的方法可以做到这一点,特别是要记住可执行文件可能需要很长时间才能完成?

对于"长时间"问题,只要符合逻辑,我就会关闭与客户端的连接,并在幕后继续处理脚本。https://stackoverflow.com/a/141026/2646455

至于在服务器上运行一个接受用户输入作为参数的脚本,我强烈建议您评估、重新评估和三次评估将用户输入直接放入服务器脚本的必要性。如果这绝对是实现目标的唯一途径,那么就要认真思考这样一个目标的安全含义。

我可能会编写接受标志的脚本。然后,如果存在用户提供的标志,则在此基础上构建命令行参数。但我会尽量避免不惜一切代价将用户输入直接转储到服务器脚本中,而不以某种方式对其进行清理或过滤