抱歉,如果标题不清楚,我在一个项目中,我们正在构建一个Android应用程序,该应用程序连接到MySql数据库以显示一些数据。我们正在使用PHP连接到数据库,并且正在使用dbconfig.php,其中包含以下内容:

define("servername", "host");
define("username", "username");
define("password", "password");
define("database",  "database");


由于我们经常连接到托管在不同服务器上的数据库,因此在运行应用程序之前,每次都必须手动更改dbconfig,因此我们考虑让用户在应用程序本身上写此信息。我想到了让应用发送POST请求,然后让dbconfig具有以下内容:

define("servername", $_POST["host"]);
define("username", $_POST["username"]);
define("password", $_POST["password"]);
define("database",  $_POST["database"]);


但是我知道dbconfig应该是安全的,因此我不愿意动态更改dbconfig,这似乎是个坏主意。实现此目标的最佳方法是什么?

编辑:这是一个坏主意,另一方面,类似于this的应用程序将如何工作?
不需要某种类型的POST请求将数据库凭证发送到服务器端语言吗?

最佳答案

这是个坏主意,因为:


您正在通过POST传递凭据
您不清理/剥离凭据($ _POST内容)
您正在通过HTTP(S)(或其他方式)传输凭据


一种方法是定义一些REST端点,然后让您的应用调用这些端点。然后,端点可以决定要连接到哪个服务器。

09-04 19:23
查看更多