2012-02-27 9 views
1

クライアントサイドアプリケーション(デスクトップアプリケーション)のコードでmysqlへの接続が適切であるかどうか尋ねたいですか?それは安全ではないですか(データベースパスワードを取得するためにアプリ/スニッフィングを逆アセンブルする)?私はC++で書いています。C++のSQLデータベース

+0

より多くのコンテキストを提供する必要があります。特に、クライアントは、DBが属する同じ会社で動作しますか?彼らは同じネットワークを共有していますか?一般的には、あなたはしません。代わりに、意味のあるインターフェースを提案し、実装の詳細として使用されるDBを隠すサーバーを構築します。 –

答えて

1

データのセキュリティが重要な場合は正しいといえます。クライアントに安全にパスワードを埋め込むことはできません。あなたのデータベースにアクセスするためには、各ユーザーが独自のパスワードを持っていて、それをクライアントに提供しなければならず、データベースにはユーザーレベルのアクセス許可が与えられることをお勧めします。

ユーザーレベルのアクセス許可がオプションでない場合は、データベースへの直接アクセスを完全に削除することを検討する必要があります。代わりに、JSONやXMLなどのWebアクセスを提供してください。これにより、クライアントアプリケーションが簡素化され、Webアプリレベルで厳格なセキュリティルールを適用することもできます。

+0

私は思った。良い答えをありがとう:) – fex

1

質問に含まれている理由のために、また各クライアントがデータベースに直接接続するため、潜在的に安全ではありません。また、アプリケーションサーバーがデータベースサーバーと通信していた場合よりもはるかに高い量のネットワークトラフィックを生成する可能性があります。

関連する問題