如何将我正在使用 webpack 构建的反应应用程序链接到 phpmyadmin 外部数据库并查询它而不在代码中显示我的数据库密码?

Posted

技术标签:

【中文标题】如何将我正在使用 webpack 构建的反应应用程序链接到 phpmyadmin 外部数据库并查询它而不在代码中显示我的数据库密码?【英文标题】:How do I link a react app I am building using webpack to a phpmyadmin external database and query it without showing my database password in the code? 【发布时间】:2019-11-25 12:46:49 【问题描述】:

所以我目前正在学习 react 和 webpack,以便我可以将它实现到我当前的站点中。我已经有一个已建立的 phpmyadmin 数据库,它可以输出我想出现在我的网站上的信息,但我不知道在编程时如何将我的用户名和密码隐藏到数据库中。我习惯于使用 php 与我的数据库总线进行交互,因为 react 纯粹是 javascript,我不知道该怎么做。

【问题讨论】:

【参考方案1】:

您需要运行一个与您的数据库和您的 React 应用程序对话的服务器。听起来您可能以 PHP 应用程序的形式拥有它。您的 PHP 应用程序需要通过 HTTP 端点公开数据,然后您可以从 React 应用程序内部获取这些数据。

本教程:https://www.techiediaries.com/php-react-rest-api-crud-tutorial/ 是您入门的好地方。

【讨论】:

哦,好的。谢谢回复!所以为了澄清,我基本上必须编写一堆与数据库交互并返回 json 数据的 php 函数。然后使用 axios 在我的反应应用程序中根据需要调用所述函数? 基本思路就是这样!一般流程是:数据库 --> 服务器端数据库查询 -> 通过 HTTP 公开查询结果,格式为 json 或其他数据类型 -> 获取 HTTP 端点(通过 axios、fetch api 等)反应组件。 请从答案中删除该链接。它促进了不良做法(字符串连接以构建 SQL),从而导致软件中的严重漏洞。这种类型的漏洞称为“SQL 注入”,可能导致未经授权访问数据库。见:en.wikipedia.org/wiki/SQL_injection【参考方案2】:

我同意您需要“运行一个与您的数据库和您的反应应用程序对话的服务器”,如接受的答案所述。另一方面,这并不意味着您必须从头开始编写代码。

如果你不想为后端编写 PHP,那么你也可以从the list of 'automatic APIs' 配置软件。自动 API 是“将您的数据库转换为 REST/GraphQL API 的软件”。

我是PHP-CRUD-API 的作者,这是一个“自动 API”,我认为它适合您的需求,但您也可以使用上述列表中的任何其他软件。

【讨论】:

以上是关于如何将我正在使用 webpack 构建的反应应用程序链接到 phpmyadmin 外部数据库并查询它而不在代码中显示我的数据库密码?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 webpack 以使用 css-modules 为 Next.js 应用程序构建反应组件库?

使用带有秘密的 github 操作反应应用程序构建/部署

Webpack 不会将我使用的图像复制到反应组件中

使用 GitHub 操作部署反应应用程序的问题

反应,流星,webpack,es6。如何创建加载/启动屏幕

如何将我的应用程序从 expo 弹出到裸反应本机代码