1

私は現在、ポート(ポート5478としましょう)をリッスンしているサーバーを持つTCP Javaソケット通信の実装を持っています。次に、Javaサーバーにリモートで接続してSQLクエリを送信するAndroidクライアントが必要です.SQLクエリはサーバー側のデータベースで実行され、結果のリストをAndroidクライアントに送り返したいです(すでにカスタムで実装されています) Serializable を実装する Result という名前の Java クラス)。これを行うには、Result の ArrayList を Android クライアントに送信します。Java サーバーは常にポートをリッスンしており、複数のスレッドを通じて複数のクライアントをサポートします。この実装をより安全なプラットフォームに移行するにはどうすればよいですか? また、その最善の方法は何ですか? この通信を行うために HTTP プロトコルを尊重する必要はありません。Tomcat が最適なソリューションですか?

ありがとう

4

3 に答える 3

0

Tomcat があなたのアプリケーションにどの程度追加のセキュリティを提供できるかはわかりません。次の 2 つの点が思い浮かびます。

  1. 認証といくつかのアクセス ルールを適用します。これは実装が難しくなく、ルールの品質に大きく依存します。ただし、使用すると役立つ場合があります。多くの場合、独自の実装に置き換えられます。ただし、セキュリティを確保するには、https などの暗号化が必要です。または、セッションをスチールして、それにバインドされた権利を取得することもできます。
  2. リクエストからファイルへのマッピング。これは実際にはもう少し複雑です。これを自分でコーディングしないでください。一見したよりも複雑です。

ただし、これまでで最大のセキュリティ全体の 1 つは、どこかから取得したコードを直接実行することです。たとえば、SQL ステートメント。データベース権限が完全に設定されている限り、安全です... 安全に暗号化されたプロトコルを開発することも簡単ではありません。ただし、Tomcat (またはその他のもの) への切り替えの主なメリットは、無料で拡張できることです。また、サーブレットの実装は、ソケットに対するプログラミングよりもはるかに簡単だと思います。また、http(s) を操作するための優れたツールが多数ありますが、それはあなたのものよりも複雑かもしれませんが、対処するのは非常に簡単です。

残念ながら、私は私たちの質問に答えることができません. 何が最善の解決策なのかわかりません。しかし、少なくとも勝つ可能性はあると思います。

于 2012-08-18T14:23:59.887 に答える
0

Tomcat はサーブレット コンテナー + Web サーバーです。tomcat に移行する予定がある場合は、暗黙的に http に移行しています。はい、安全な通信が必要な場合は、SOAP ベースの Web サービス (Apache 軸) を作成し、https でホストできます。

于 2012-08-18T08:43:18.083 に答える
0

Tomcat の一部として Servlet3.0 を使用します。

Android から URL を使用してサーバーに http リクエストを送信するだけで、サーブレットはそれらをデータベース化できます。必要に応じて、データをシリアル化することもできます。

それがあなたの質問に答えることを願っています。

〜ダン

//編集:

Eclipse と Tomcat をセットアップしたら、サーブレットの作成を開始できます。まず、localhost:8080/myServlet などの特定のアドレスにサーブレットを使用するようにサーバーを構成する必要があります。これは、ローカル ホストに送信するものはすべてサーブレットをトリガーすることを意味します。最初のサーブレットのコードは次のようになります。

public class ExampServlet extends HttpServlet {

public void doPost(HttpServletRequest request, 
     HttpServletResponse response)
        throws ServletException, IOException
  {

doPost メソッドは、サーブレットがリッスンしているアドレスで http post リクエストを実行したときに呼び出されるものです。あとは、メッセージ本文からデータを取得するためのリクエストを読み取るためのコードを入力するだけです。基本的に、渡されたリクエスト オブジェクトを読み取り、レスポンス オブジェクトに書き込み、レスポンスをクライアントに送り返します。そこにはたくさんのガイドがあります。私はこのようなものに従って始めました:

http://www.coreservlets.com/Apache-Tomcat-Tutorial/tomcat-7-with-eclipse.html

それが役立つことを願っています:)

〜ダン

于 2012-08-18T08:43:22.603 に答える