Actionscript 3.0 - > PHP - >ゲームアプリケーションでのMySQLセキュリティの問題

私はactionscript 3.0(フラッシュ)で試合をする予定です。ただし、ユーザーポイントの保存に関するセキュリティ上の問題が発生しています。

具体的には、以下を読んで、正確な問題が何であるかを理解します。

  1. 私のフラッシュアプ​​リケーションを起動しています。 PHPはユーザ名のセッションを作成します。数分間プレイして750ポイントに達します。
  2. [ポイントを保存]ボタンをクリックします。
  3. それは "game.php?points = []"とあなたのポイント金額を結びつけるため、game.php?points = 750となります。
  4. PHPはMySQLに接続し、アプリケーションを開くときに入力したユーザー名で更新/挿入クエリを実行し、3で見られるように$ _GET ['points']でポイントを取得します。

問題は、 "game.php?points = 999999999999"を直接閲覧できる人は、彼のポイントをデータベースに保存します。

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

また、サインアップ時に各プレーヤーのプライベートキーを作成してそれに応じて暗号化することも考えましたが、ユーザーがチートエンジンでポイントを変更すると、フラッシュは自動的に指定されたプライベートキーでポイントを暗号化するため動作しません。役に立たない理論...

Zyngaのような人気のある企業が使っているからといってSSLを使うようにと言った人もいますが、私はここで他の理論を探しています。

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

Ps。ゲームはMMOになるため、データのやりとりを確保することが不可欠です。

2
@weltraumpiratそれは決して解決策ではありませんが、このコメントを削除する必要があります。
追加された 著者 rook,
あなたの質問についてはあなたの権利を尊重してください。しかし、その答えは痛いほど間違っています。
追加された 著者 rook,
@ルック私は違うと思う。質問はほぼ同じで、受け入れられた答えには以下で言及されたすべてが含まれています。
追加された 著者 weltraumpirat,
@ルック再び読んでください。暗号化のすべての可能な形態を繰り返し、最後に彼らがなぜ助けにならないのか、そして他に何ができるのかを述べます。それは私がSOに見てきた最高の答えの一つであり、それは何のために200以上の票を得ていません...
追加された 著者 weltraumpirat,

2 答え

実際のセキュリティで保護されたアプローチのためには、ゲームのロジックをできるだけサーバーに移動し、理想的にはFlashムービーをゲームの現在の状態をユーザーに示すインターフェイスにする必要があります。

良い説明については、Yeldarbの投稿をこのスレッドでチェックしてください。

1
追加された

First of all SSL doesn't help you at all. It sounds like you have never heard of Tamperdata.

これは古典的な CWE-602 違反です。暗号化は、攻撃者があなたよりもアプリケーションをよりコントロールできるため、これらの問題に対処しません。秘密を隠す場所はありません。

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com