使用 PHP 连接到远程 MySQL 数据库的网页
Posted
技术标签:
【中文标题】使用 PHP 连接到远程 MySQL 数据库的网页【英文标题】:Web page connection to a remote MySQL database using PHP 【发布时间】:2014-06-06 02:40:59 【问题描述】:我设法使用 php 脚本将我的网页连接到远程 mysql 服务器,但这需要打开远程服务器上的端口 3306,这是一个安全问题。 我需要为我的网站访问者提供此功能,这当然消除了允许某些预定义 IP 地址的想法。
那么,我该怎么做呢,也许使用 SSH 隧道之类的东西?
谢谢 亚历克斯
【问题讨论】:
您需要网站访问者直接访问远程 MySQL?连接到远程 MySQL 服务、您的 PHP 应用程序代码或访问者的客户端有什么作用?如果是您的应用程序代码,则连接的是 Web 服务器的 IP 地址,可以可靠地限制。 但仍然是insecure without SSL,您可以在机器之间使用 SSH 隧道。 MySQL 可以编译为 SSL:dev.mysql.com/doc/refman/5.0/en/ssl-connections.html 我只希望我的 Web 服务器与远程 MySQL 服务器数据库交互。例如,假设我的服务器位于 198.103.24.15。 MySQL 服务器在 Windows Server 2008 上运行。如何打开端口 3306 并将其限制在我的网站上? 【参考方案1】:就我个人而言,我发现在安全性和性能之间实现良好平衡的最佳方法是打开端口 3306,但设置防火墙规则来限制对我的 Web 服务器 IP 地址的访问。
您可以使用 IP 表通过如下规则过滤网络流量:
iptables -I INPUT -p tcp -s [WEBSERVER IP ADDRESS] --dport 3306 -j ACCEPT
您可以将它与安全地连接到 mysql 服务器结合起来,如果您希望在从 MySQL 服务器到 Web 服务器的过程中加密数据。请参阅这篇 *** 文章:Securing remote mysql connection
【讨论】:
我只希望我的 Web 服务器与远程 MySQL 服务器数据库交互。例如,假设我的服务器位于 198.103.24.15。 MySQL 服务器在 Windows Server 2008 上运行。如何打开端口 3306 并将其限制在我的网站上? 是的,这正是你所做的。至于 Windows 防火墙设置,它不会是 iptables,所以你需要研究如何设置。以上是关于使用 PHP 连接到远程 MySQL 数据库的网页的主要内容,如果未能解决你的问题,请参考以下文章
PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用