【发布时间】:2016-06-13 11:06:55
【问题描述】:
我用 MySQL 和 PHP 创建了一个家庭 Apache 服务器。我刚刚创建了一个我想公开访问的网站,主要是为了我的实验。但是我刚刚意识到我的 MySQL 服务器在端口 3306 上运行,通常我的 PHP 使用用户名和无密码连接到 localhost 上的数据库。任何其他远程 PHP 脚本都不能连接到我的数据库并虹吸掉所有存储的数据吗?它不会危及我的网站吗?如何停止与我的数据库服务器的远程连接?我只希望我的服务器上的应用程序(或我批准的应用程序)访问我的数据库。如果措辞不好,请见谅,我在 Google 上找不到任何有用的文章。
【问题讨论】:
-
编辑 my.cnf: bind-address = 127.0.0.1 并重启 MySQL。使其仅对 localhost 可用。
-
您应该检查您的 MySQL 服务器正在侦听的 IP 地址以及您的防火墙设置,但要回答“我只希望我的服务器上的应用程序(或我批准的应用程序)访问我的数据库”:这就是您可以使用密码创建用户的原因——使用它!
-
iptables 还应该帮助您阻止传入数据库连接的任何可能性