3

小さなプロジェクトでは、MySQL にいくつかのデータを保存する必要があります。ユーザーは世界中にいて、.net ClickOnce アプリケーションを実行しています。アクセスされたデータは実際には機密ではなく、誰かがアクセスしたとしても、プライバシーの観点から害はありません.

技術的には、MySQL データベースをどこかのサーバーに配置し、すべてのユーザーをConnector/Net経由 でインターネット経由で接続することが可能です。しかし、これは賢明ですか?

  1. プロトコルは安定しており、低速のインターネット接続でも十分に処理できますか?
  2. これは重大なセキュリティ リスクになるでしょうか。データの暗号化は話題ではありませんが、パスワードの暗号化は話題です。MySql データベース (ポート) をインターネットに対して開くことは危険ですか?

または、Web サービスを介して DB アクセスを「ラップ」するか、他の方法で行うこともできます。しかしもちろん、これは避けたいオーバーヘッドです。では、MySQL をインターネット経由で接続することは有効なオプションですか?

備考:

4

2 に答える 2

5

リモートの.NETアプリケーションと通信するためのRESTWebサービスレイヤーを実装することをお勧めします。そうすれば、Webサービス要求を処理するサーバーにデータベースへのローカルアクセスを持たせることができ、MySQLプロトコルが機能しているかどうかを心配する必要はありません。

私の経験では、MySQLプロトコルはWAN上で機能する可能性がありますが、実際にはローカルネットワークで使用することを目的としているため、WANの遅延により、トランザクションが非常に遅くなります。

また、MySQLサーバーはそのポート(デフォルトでは3306)を公開する必要があり、それは実際には強化されていないため、VPNやstunnelなどを介して接続しない限り、安全ではありません。

MySQLクライアント/サーバープロトコルは、パスワードをプレーンテキストで送信せず、送信する前にクライアントでパスワードをハッシュします。しかし、MySQL Connector / NETがMySQLクライアントを使用しないことは理解しているので、クライアント側のパスワードハッシュで同じことを行うかどうかはわかりません。

于 2013-02-21T14:58:33.933 に答える
3

1) このプロトコルは安定しており、長い間使用されていました。

2) ローカル ネットワークの外部で DB を共有しないでください。セキュリティ リスクが高くなります。DBからデータにアクセスするために、DBサーバー上にレイヤーを作成する必要があります。client-sideまた、との間に WCF サーバーを作成することもできますdb

于 2013-02-21T14:56:20.423 に答える