2

actionscript 3.0(flash)でゲームを作ろうと思っています。ただし、ユーザー ポイントの保存に関してセキュリティ上の問題がいくつかあります。

より具体的には、以下を読むと、正確な問題が何であるかを理解できます。

  1. あなたは私のフラッシュアプ​​リケーションを起動しています。PHP はユーザー名のセッションを作成します。数分間プレイして 750 ポイントに到達。
  2. 「ポイントを保存する」ボタンをクリックします。
  3. これは、「game.php?points=[]」をポイント数に結び付けます。したがって、game.php?points=750 になります。
  4. PHP は MySQL に接続し、アプリケーションを開いたときに入力したユーザー名で update/insert クエリを実行し、3 でわかるように $_GET['points'] でポイントを取得します。

問題は、「game.php?points=999999999999」を直接閲覧できる人は誰でも、自分のポイントがデータベースに保存されることです。

ポイントを暗号化することも考えましたが、Flash はクライアント側のアプリケーションであり、「チート エンジン」のようなアプリケーションを使用して誰でも「ポイント」の値を変更できます。ポイントを変更すると、暗号化されたポイントが Flash によって自動的に生成されます。

また、サインアップ時に各プレーヤーの秘密鍵を作成し、それに応じて暗号化することも考えましたが、ユーザーがチートエンジンでポイントを変更すると、フラッシュが特定の秘密鍵でポイントを自動的に暗号化するため、これも機能しません。無駄な理論…

Zynga のような人気のある企業が SSL を使用しているという理由だけで、SSL を使用するように提案した人もいますが、ここで他の理論を探しています。

SSLを使用することを除いて、この場合のアイデアはありますか?

Ps。ゲームは MMO になるため、安全なデータ トランザクションが不可欠です。

4

2 に答える 2

1

真に安全なアプローチを実現するには、ゲームのロジックを可能な限りサーバーに移動し、理想的には、Flash ムービーをゲームの現在の状態をユーザーに表示する単なるインターフェイスにする必要があります。

適切な説明については、このスレッドの Yeldarb の投稿を確認してください。

于 2011-11-12T22:04:13.290 に答える
0

まず第一に、SSL はまったく役に立ちません。タンパーデータについて聞いたことがないようです

これは典型的なCWE-602違反です。攻撃者はユーザーよりもアプリケーションをより細かく制御できるため、暗号化ではこれらの問題に対処できません。秘密を隠す場所はありません。

于 2011-11-16T02:10:36.270 に答える