【问题标题】:Upload a PHP script to another server and run it to connect to my database将 PHP 脚本上传到另一台服务器并运行它以连接到我的数据库
【发布时间】:2012-07-06 06:08:26
【问题描述】:

我创建了一个搜索引擎zoken.co.cc 并选择手动提交站点并下载文件 populate.php 通过在其他 ftp 中上传 populate.php 并打开 它在数据库中索引自己。

例如:一个站点www.abc.com想在我的搜索引擎中提交站点并选择自动提交和下载文件(populate.php)并在ftp服务器上上传。 并打开页面www.abc.com/populate.php。 然后出现一个页面并有

Warning: mysql_connect() [function.mysql-connect]: Host '10.1.1.27' is not allowed to connect to this MySQL server in /home/a1091216/public_html/populate.php on line 10

ERROR: Could not connect to database    

我知道他和我的FTP服务器不一样,但能保存吗。

【问题讨论】:

  • 您是否在 mysql 中设置了不是 username@localhost 的用户并具有正确的权限?
  • 这个错误很容易解释。

标签: php mysql ftp


【解决方案1】:

这是因为不允许远程服务器使用该用户名连接到您的数据库服务器。您可以将数据库用户设置为允许来自%的连接,即“使用此用户名登录的用户可以从任何主机连接到数据库服务器”。

在别人的服务器上运行 PHP 脚本真的很重要吗?我可以看到以下问题:

  • 用户不信任您的 PHP 脚本并最终不提交。

  • 用户没有在服务器上安装 PHP,或者正在运行服务器来为使用 ASP 构建的站点提供服务,导致 PHP 脚本无用。

  • PHP 文件将包含数据库用户名和密码。谁说站长不会从 PHP 文件中抓取这些内容并弄乱您的数据库(即使用户帐户只允许从 1 个表中读取/写入)?

如果我是你,我会让他们下载一个包含随机字符串的文本文件。要求他们将其上传到他们提交的站点的根目录。然后每 5 分钟(直到站点被标记为已验证),让您的服务器退出并使用 CURL 从他们的站点检索文本文件。检查里面的随机字符串,然后填充你的数据库。

【讨论】:

    【解决方案2】:

    是的,如果请求该连接的脚本来自另一台服务器,则可以连接到位于一台服务器上的 mysql 数据库..
    第一件事是确保主机 mysql 服务器已打开网络并在防火墙上打开端口 3306(我认为这是数字)。我希望这两个都默认关闭。
    就个人而言,我会非常怀疑这样做。让 mysql 上网让我很不舒服。建议您尝试并找到更好的方法来做到这一点。

    刚刚重新阅读并意识到我应该更清楚。在 my.cnf(mysql 配置文件,可能在 /etc 中)有一个变量,类似于networking=no 或skip-networking;我忘记了细节。无论如何,需要将其设置为启用网络,然后您需要重新启动 mysqld。

    【讨论】:

    • 你能解释一下你上面所说的所有步骤吗?
    • 您使用的是哪个托管服务器。 ..?
    • 某些托管服务器在您创建数据库时具有此选项。 .远程访问数据库。 ..或询问您的主机提供商如何远程访问此数据库.. .
    • 000webhost.com (mysql1.000webhost.com)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2015-07-20
    • 2010-12-18
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多