用户输入——是否有一种标准的方式将数据传递给web应用程序的后端程序?如果有,是什么?



我目前正在创建一个web应用程序,从表单中获取用户数据,将其发布到PHP脚本,并从那里PHP在服务器上运行可执行文件,并将表单数据作为可执行文件的参数。

澄清一下,我有一个可执行文件,它根据用户输入的内容进行计算。一旦在后端有了表单数据,就可以使用PHP运行:

./myExecutable arg1 arg2 arg3 ...

其中输出将返回给PHP,然后最后返回给用户。

我的问题是:

是否有一个标准的(更好的)方法来处理这样的情况,需要一个大型的服务器端程序来处理用户输入

我是web应用的新手,但我脑海中闪过的一些想法是:

  • 是否有一种方法可以在不使用可执行文件的情况下获得相同的结果?(像谷歌地图这样的大型应用程序如何处理后端部分?)
  • 如果一个可执行文件真的是解决这个问题的理想方式,那么如果我有50个参数会发生什么呢?我可以从命令行传递所有50个,还是使用包含输入数据的文件更明智(或者有更好的方法)?

使用命令行是低效的,因为它每次都创建一个新进程。效率的降低对应用程序可能有影响,也可能没有影响。

而且,传递命令行参数很容易引入安全漏洞。请看这里的警告:http://php.net/manual/en/function.exec.php

两个更好的解决方案:

  1. 在你的代码之上构建一个REST API,并从你的PHP调用它。像swagger这样的工具使生成json打包代码变得非常容易,并且您将对接口有一个清晰的定义。此外,您可以稍后决定将该进程移动到另一台机器。

最新更新