0

重複の可能性:
マルチプレイヤー ゲームのセキュリティを確保する

サーバーとクライアントがソケットを使用して相互に通信するプログラムを作成しました。このブログで、jar ファイルのソース コードを完全に隠すことはできないと読みました。そのため、クライアントは私のソース コードをコピーして少し調整するだけではありません。たとえば、私のプログラムが level += 1; と言うところ。彼はレベル += 10 を行うことができました。私のサーバープログラムは、クライアントプログラムが私が作成したものであるかどうかを確認できますか?

4

2 に答える 2

0

その通りです。クライアント jar を逆コンパイルして変更し、サーバーに何かを送信することができます。
しかし、あなたは要点を見逃していると思います。サーバーは、アクセスしているクライアントが誰であるかを認識していないため (クライアント認証を使用し、セキュリティ部分をクライアント プログラムのユーザーに委任しない限り)、クライアントとやり取りするときは常に防御的にプログラミングする必要があります。たとえば、入力を信頼せず、常に検証します。あなたの場合、レベルが10の場合、それが許容可能な入力であるかどうかを確認してください

于 2013-01-20T10:58:01.203 に答える
0

簡単な解決策: クライアント アプリケーションのクラスローダーをオーバーライドし、URL/サーバーからクラスをロードできます。この方法では、クラス ファイルをクライアント側に置く必要はありません。

于 2013-01-20T10:58:29.127 に答える