0

我目前正在尝试了解如何编写一个个人项目,该项目将使用 MySQL 作为数据库,使用 WPF C# 作为本地客户端。基本上,它将是一个应用程序商店(与 google play 的风格几乎相同),需要登录,然后让用户选择要安装的应用程序。让我困惑的是我将如何:

  • 允许将应用程序安装在系统上并启动,而无需事先安装 mysql。

  • 访问 MySQL 数据库本身。如果是本地数据库,这相当容易,但是如何管理远程 MySQL 数据库呢?与此相关的另一个问题是,我是否必须在应用程序本身中硬编码我的 MySQL 名称和密码?如果是这样,如果有人能够访问它,它不会在我的应用程序中创建一个安全漏洞吗?(我相信这就是你在 php 中所做的事情,但问题是,php 是服务器端的,所以理论上用户将永远无法在没有 ftp 访问的情况下获得 php 代码。由于我在本地运行我的应用程序,任何人都可以混淆编码并获取这些信息,不是吗?)

另外,有人能指出一个好的 MySQL 数据库主机(免费与否)吗?也许我没有搜索到正确的东西,但我找不到任何“仅”提供 MySQL 数据库的主机。

无论如何,任何人都可以给我一些关于此事的信息吗?

4

1 回答 1

1

为了实现你想要的,你应该考虑一个不同的架构:

  • MySQL 数据库 [服务器]
    该服务器保存您的数据等。

  • WebService (SOAP or REST) [server]
    这是唯一访问 MySQL 数据库的软件。理想情况下,这只能通过 SSL (HTTPS) 访问。

  • WPF 客户端 [客户端]
    客户端不直接与 MySQL 通信,而仅通过 WebService。

至于如何保护凭据,您有一些选择:

  • 向用户询问密码,然后将其传输到 WebService ...

  • 每个用户使用一个“客户端证书”(这允许在不更改客户端的情况下从服务器端撤销访问)

于 2013-08-19T04:51:04.127 回答