抱歉,如果标题不清楚,我正在参与一个项目,我们正在构建一个连接到 MySql 数据库以显示一些数据的 Android 应用程序。我们使用 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 端点并让您的应用调用这些端点。然后,端点可以决定要连接到哪个服务器。
关于php - 使用 PHP 连接到 MySql 数据库时,根据用户输入修改数据库配置是一个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51560743/