多くのクライアントに提供されるアプリケーションをコーディングして、データベースへの直接アクセスを許可しません。クライアント要求を受け取るC++を使用してサーバーアプリケーションを開発し始めました。データベースと対話し、応答を送信する。これは少し複雑に思えますが、クライアントアプリケーションがリモートデータベースと対話できるようにする方が良いでしょうか?これにはどんなリスクがありますか?C#/ C++クライアント - サーバーアプリケーション
まず解決策:
多くのクライアントに提供されるアプリケーションをコーディングして、データベースへの直接アクセスを許可しません。クライアント要求を受け取るC++を使用してサーバーアプリケーションを開発し始めました。データベースと対話し、応答を送信する。これは少し複雑に思えますが、クライアントアプリケーションがリモートデータベースと対話できるようにする方が良いでしょうか?これにはどんなリスクがありますか?C#/ C++クライアント - サーバーアプリケーション
まず解決策:
通常は、インターフェイスと抽象データベースでしょう。古典的なものはodataで、Visual Studioはウィザードからasp Webサービスとして構築できます。これは、Joakimが勧めたように安らかです。 https://en.wikipedia.org/wiki/Database_abstraction_layer
ODATAを使用せずに行うことができる 'tim'のようなさまざまなオプションがあります。つまり、クライアントからの要求に対応し、データベースに直接アクセスできるようにするデータレイヤー(別個のアプリケーション)を作成することを意味します。しかし、Webアプリケーションをどのようにホスティングしているのかを知りたいという前に、 データベースへのリモートアクセスをブロックすることで、クライアントからのアクセスを未然に防ぐことができます。 問題はコードと構造によって異なります。どちらの方法も有効です!
C#クライアントがあれば、C#WCFサーバーを使用しないのはなぜですか?
あなたがソウルティーンで何をするかは、通常、ベストプラクティスです。 これを使用すると、 *後でデータベースを切り替えることができます。 *はクライアントからデータベースの構造を隠します。 あなたのクライアントを逆コンパイルすると、あなたを攻撃する方法はわかりません。
しかし、より複雑で余分な作業がたくさんあります。
あなたのデータベースをハックする恐れがありません。 とあなたKNOWデータベース構造は非常にマイナーな変更を受けますEVER。 これをスキップして、データベースと緊密に話し合ってください。
あなたはおそらく間違っています。
ちょうどお勧めです。代わりにRESTFUL APIで作業してみませんか? –