2

これが私が直面していることです:

  • A: QT /C++で記述されたクライアントアプリ
  • B: apache + php + mysql+linuxを備えたサーバー

ここで、AはRESTfulインターフェイスを使用してBにプライベートデータを投稿したいのですが、問題は次のとおりです。

  1. データ送信のセキュリティを確保する方法
  2. データを投稿する合法的なクライアントのみを確保する方法。

OpenSSLについて考えていますが、どこから始めればよいのかわかりません。誰かが道を教えてくれますか?

PS.Myクライアントアプリは、登録やユーザー情報がなくても、ユーザーが自由にダウンロードできます。次に、ユーザーは私のアプリを使用してテストを実行し、結果を投稿します。最後に、偽のデータは煩わしい可能性があるため、これらの結果データがクライアントアプリによって投稿されるようにします

4

2 に答える 2

0

Qtはデータを保護するために何もしません。最初にRDBMSの保護に集中する必要があります。もちろん、すべての入力をチェックしてサニタイズするなどして、意図しない動作を防ぐためにQtクライアントアプリケーションを慎重にコーディングする必要がありますが、配布しない場合は、これが最も差し迫った問題ではありません。

アプリケーションのバックエンドとしてPostgreSQLを使用することを計画している場合は、インターネットへのサービスの公開に伴うリスクを軽減するための対策を講じることができます。最も基本的なもの:

  • 適切なルールでファイアウォールを設定します。信頼できるソースからのインバウンド接続のみを許可します。

  • 自己署名証明書を使用する場合でも、SSL接続のみを受け入れます。

  • 強力なパスワードを適用します。より適切な場合は、クライアント証明書を使用します。

  • 既知の/信頼できるアドレスからの接続のみを受け入れるようにpg_hba.confファイルを設定します。

PostgreSQLを使用するための非常に良い例は、gitで入手できます。ここをクリックしてください

于 2013-03-08T04:41:02.410 に答える
0

データを安全に送信するには、SSL暗号化接続を使用する必要があります。まず、Apacheのドキュメントで、その仕組み、自己署名証明書を生成する方法、およびそれに応じてすべてを構成する方法について確認します。また、検索すると、Web上でより簡潔な手順を簡単に見つけることができます。

2番目の部分はあなたの状態に依存します。アプリケーションがイントラネットのような閉じた環境で動作する場合は、IPアドレスでアクセスを制限できますか?それ以外の場合は、何らかの承認が必要です。組み込みのHTTP認証を使用できます。ドキュメントを確認してください:

または、Webで詳細な手順を検索してください。

すでに認証システムをお持ちの場合。ユーザーデータベースのように。次に、QT /C++アプリケーションが使用できるRESTAPIを実装する必要があります。

于 2013-03-08T04:34:14.533 に答える