1

OK、JavaScriptとHTML5を使用してゲームを作成しています。、、、、、などの変数はmap、追跡xするためにJavaScriptに保存されます。私のクライアントページには、ゲームと一緒にプレイするためにJavaScript変数が保存されています。5秒ごとに、クライアントページはデータベースにAJAX呼び出しを送信し、データベースを正常に更新します。ylevelexpPOSTMySQL

ただし、ユーザーはJavaScript変数を簡単に変更して、ゲーム内で不正行為を行うことができます。次に、JavaScript変数を編集するPOSTと、それを取得して、非倫理的に編集した場合でも更新します。

では、どうすればこれを防ぐことができますか?

4

2 に答える 2

3

残念ながら、クライアント側のコードが悪意のある当事者によって操作されるのを防ぐ方法はありません。ただし、多くの場合、悪用の可能性を示す可能性のある特定の動作があります。

たとえば、ヒーリングポーションで回復できるヒットポイントの最大数が100ポイントで、ユーザーが突然1000増加した場合、虐待があったことがわかります。戦略には、アプリケーションに返されるデータが適切であることを確認するための検証として、コードにチェックを入れることが含まれる必要があります。

この概念は、Webフォームに入力されたデータが検証されていることを確認するためにビジネスアプリケーション開発者が行う可能性のあることとよく似ています。不正な値や送信してはいけない値がある場合、サーバーはエラーメッセージと、入力する必要のあるフィールドに関する指示で応答します。

あなたの場合でも、誰かが特定のしきい値を下回るレベルで「システムをゲーム化」する可能性があります。小さなことから始めて、データを分析すると、このタイプのデータの検証を実装できる領域が増えます。

于 2012-05-25T01:09:22.693 に答える
2

サーバー側でデータを監視および分析する必要があります。おそらく、値が範囲外でないことや、値が妥当な量だけ変更されていることを確認するなど、いくつかの健全性チェックを実行します。あなたの質問の問題は、ユーザーが望むことをするのを止めることはできないということです。あなたは彼らがあなたに与えることを処理する必要があるだけです。

于 2012-05-25T01:09:35.530 に答える