【问题标题】:Connect to MySQL via PHP script tunnel通过 PHP 脚本隧道连接到 MySQL
【发布时间】:2012-04-11 11:27:05
【问题描述】:

问题来了,我需要从我的 C# 应用程序连接到远程 MySQL 数据库,问题是 MySQL 实例将阻止对除 localhost 之外的所有 IP 的所有访问,这无法更改,因为它太多的安全问题.

问题是,是否可以通过隧道连接到托管在服务器上的 php 脚本,这将充当 mysql 连接。

有什么想法和建议吗?

【问题讨论】:

  • 那么你会让 PHP 脚本将 sql 命令推送到本地 mysql 服务器吗?听起来像是会造成巨大安全漏洞的黑客攻击。你不能只打开mysql到一组特定的IP吗?
  • @LeeDavis 问题是使用该软件的人每天都会在不同的客户现场,这将导致比保护 php 脚本更多的安全问题

标签: c# php mysql winforms tunnel


【解决方案1】:

SQLYog(一个 mysql 管理 GUI 实用程序)已经有这个 php 隧道脚本和它自己的自定义 API,所以如果你考虑自己编写它,那么有交叉支持会很好。见Is there any good universal PHP MySQL HTTP tunnel?

【讨论】:

  • hmmm 如果我没看错,他们将 xml 传递给 php 脚本以运行命令并返回 xml。虽然这样可行,但我可以创建自己的 API 系统,但想法是在不连接到端口 3306 的情况下向原始命令开放 mysql。
  • 好吧,因为 mysql 使用 TCP(或套接字或管道)作为其协议,而 php 是通过 HTTP Web 服务器调用的.. 您需要将 php 作为守护程序运行,因此仍然需要一些端口来维护 TCP。这是没有意义的..同样的问题以前也被关闭了..stackoverflow.com/questions/5539793/tunnelling-tcp-over-http
【解决方案2】:

是的,只需创建一个简单的 PHP 脚本,它会为您提供所需的输出,并使用来自 c# 应用程序的 http 请求到该 php 脚本来获取数据 - 基本上,您将构建一个非常简单的 REST API(带有身份验证)

附言我看不出这会比 SSH 隧道更安全

【讨论】:

    【解决方案3】:

    我最终选择了一个 SSH 端口隧道并实现了我需要做的事情。

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 2014-03-21
      • 2015-05-15
      • 2012-06-19
      • 1970-01-01
      • 2020-09-30
      相关资源
      最近更新 更多