【问题标题】:Web page connection to a remote MySQL database using PHP使用 PHP 连接到远程 MySQL 数据库的网页
【发布时间】:2014-06-06 02:40:59
【问题描述】:

我设法使用 PHP 脚本将我的网页连接到远程 MySQL 服务器,但这需要打开远程服务器上的端口 3306,这是一个安全问题。 我需要为我的网站访问者提供此功能,这当然消除了允许某些预定义 IP 地址的想法。

那么,我该怎么做呢,也许使用 SSH 隧道之类的东西?

谢谢 亚历克斯

【问题讨论】:

  • 您需要网站访问者直接访问远程 MySQL?连接到远程 MySQL 服务、您的 PHP 应用程序代码或访问者的客户端有什么作用?如果是您的应用程序代码,则连接的是 Web 服务器的 IP 地址,可以可靠地限制。
  • 但仍然是insecure without SSL,您可以在机器之间使用 SSH 隧道。
  • 我只希望我的 Web 服务器与远程 MySQL 服务器数据库交互。例如,假设我的服务器位于 198.103.24.15。 MySQL 服务器在 Windows Server 2008 上运行。如何打开端口 3306 并将其限制在我的网站上?

标签: php mysql web


【解决方案1】:

就我个人而言,我发现在安全性和性能之间实现良好平衡的最佳方法是打开端口 3306,但设置防火墙规则来限制对我的 Web 服务器 IP 地址的访问。

您可以使用 IP 表通过如下规则过滤网络流量:

iptables -I INPUT -p tcp -s [WEBSERVER IP ADDRESS] --dport 3306 -j ACCEPT

您可以将它与安全地连接到 mysql 服务器结合起来,如果您希望在从 MySQL 服务器到 Web 服务器的过程中加密数据。请参阅这篇 Stackoverflow 文章:Securing remote mysql connection

【讨论】:

  • 我只希望我的 Web 服务器与远程 MySQL 服务器数据库交互。例如,假设我的服务器位于 198.103.24.15。 MySQL 服务器在 Windows Server 2008 上运行。如何打开端口 3306 并将其限制在我的网站上?
  • 是的,这正是你所做的。至于 Windows 防火墙设置,它不会是 iptables,所以你需要研究如何设置。
猜你喜欢
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-20
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多