2

この質問での私の焦点は、HTML5ゲームの作成です。目的は、不正行為を減らす/防ぐのに役立つことです。

たとえば、グローバルスコープの変数がスコアを保持している場合、var score = 0を実行するだけで不正行為を行うのは非常に簡単javascript:void(score = 9999999999);です。

しかし、私がこのようなものを持っていた場合:

(function() {
    var score = 0;
    // game logic here
})();

scoreクロージャーの外にあるものからアクセスできますか?プレイヤーがそれを変更してポイントを改ざんする方法はありますか?

4

2 に答える 2

4

クライアント側で発生することはすべて「ハッキング可能」です。これは、クライアント側を制御できないためです。これを防ぐ唯一の実際の方法は、サーバー側の検証(AJAX呼び出しなど)を使用することです。

閉鎖外の何かからスコアにアクセスできますか?

いいえ、そうではありません。

プレイヤーがそれを変更してポイントを改ざんする方法はありますか?

うん。私の最初の声明を参照してください。

于 2012-04-05T12:35:51.040 に答える
2

その閉鎖の外では、score存在しません(または少なくとも、それ scoreは存在しません)。

詐欺師を防ぎたい場合、ゲーム全体がクライアント側で実行される唯一の実際の方法は、サーバー上でゲーム環境とユーザー入力を再作成し、それを検証することです。

それ以外の場合は、誰でもクライアント側のコードを変更して、必要なものをサーバーに送信できます。

于 2012-04-05T12:34:23.820 に答える