gpt4 book ai didi

javascript - 通过在另一台主机上打开 php 文件从 mysql 数据库中获取值(数组)

转载 作者:行者123 更新时间:2023-11-30 22:18:35 24 4
gpt4 key购买 nike

这是需要发生的事情:


我需要从 MySql 数据库中获取用户信息。

但我不想在 php 文件中插入我的数据库的密码。 因为该文件不会托管在我自己的服务器上。当他们通过 ftp 访问服务器并编辑 php 文件时,没有人必须看到该密码。

我的第一个不起作用的解决方案是从我自己的主机打开一个 php 文件并读取输出(我制作了一个连接到数据库并输出长字符串的脚本)并通过拆分将输出转换为数组值。由于 php 中的安全原因,这不起作用。

我无法为具有只读访问权限的数据库创建额外的帐户,因为我的主机不允许。 (hostinger.co.uk)

我还考虑过使用 iFrame 并将文件加载到我的主机上。并使用 javascript 阅读它。但同样,安全性不允许我对其进行编辑。

有人知道解决这个问题的方法吗?

最佳答案

选项 1:

因为你想确保你的好友服务器无法访问 MySQL 服务器信息(用户名、密码等),你最安全的选择是从你的服务器连接到数据库,并且只在两个服务器之间通信需要检索什么。

正如 Darren 在评论中提到的,API 可以很好地完成这项工作。由于有很多开源库可以完成这项工作,我会向您推荐一个:pheanstalk

pheanstalk 是一个在 beanstalk 库之上工作的 php 客户端,它基本上是一个队列。

您可以在每台服务器上设置一个队列,并配置在两台服务器之间进行通信。然后,您将让 worker.php 脚本每秒(或 10 秒或您喜欢的任何频率)运行一次,以查找从 1 个服务器发送的命令,接收这些命令,处理它们,然后发回信息到主计算机。

选项 2:

代替访问您的数据库,您可以创建您自己的副本,并让他的服务器包含一个副本。

选项2的要点:

如果他的服务器不能承载完整的 MySQL 数据库,可以使用 MySQLi,它非常相似,但唯一的区别是它基本上是一个保存在服务器中的文件。这就是它的好处,因为它是 LIGHT(因此来自 MySQLi 的“i”)。缺点是数据库没有那么“强大”,一些操作可能会受到限制,虽然这是可以预料的,但仍然很好。

不过,如果您的 friend 有数据库,那就更好了,因为它将具备所有功能。

现在,由于我假设您需要使他们的数据库副本保持最新,因此您可以创建一个函数,向您的伙伴服务器发送有关更新内容的请求。这是一个 API,因为它是后台进程之间的相互通信,但可能不需要任何其他 API 可能需要的根访问权限。

虽然这里的麻烦是你每次进行任何更新时都必须调用该函数...... :(


已编辑:

选项 3

在评论中与 OP 交谈了一下​​后,出现了另一种可能性。在他的特定情况下,他可能愿意在公共(public)目录中提供一个文件供他的伙伴用户阅读。例如,假设他的文件位于:

http://www.example.com/hiddenfiles/dfjios4wr238#@.txt

要访问该文件中的内容,您必须知道名称(并且该名称是专门设计用作密码的,因此即使该信息对 OP 的具体情况不敏感,它始终是最佳实践保持一致并认为安全 xD)。

要访问该文件,可以执行以下操作:

$path = 'http://www.example.com/hiddenfiles/dfjios4wr238#@.txt';
$fileHandle = fopen($path, "r");
while ($line = fgets($fileHandle))
{
echo "--> {$line}";
}
fclose();

关于javascript - 通过在另一台主机上打开 php 文件从 mysql 数据库中获取值(数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37403140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com