php - 使用 PHP 连接到 MySql 数据库时,根据用户输入修改数据库配置是一个坏主意吗?

标签 php android mysql

抱歉,如果标题不清楚,我正在参与一个项目,我们正在构建一个连接到 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/

相关文章:

php-mysql在html下拉菜单中查询输出

javascript - AngularJS:获取链接中没有散列的查询字符串值

android - 在我的 Listview Android 中语音转文本

Android:操作栏项目 onclick

php - Laravel 查询生成器限制

php - 如何使用两个日期选择器从我的数据库获取数据。代码点火器

php - 使用 php 将 HTML 表单提交到数据库时,仅显示 php 脚本

java - Android - 首次运行首选项初始化

查询中的 MySQL 循环变量

java - DBUnit FlatXMLDataSet 对于 MySQL 容器化数据库插入速度极慢