0

私は Jquery を学ぶために暇なときに Jquery で小さなゲームに取り組んでいます。基本的な概念は、タイマーが刻むたびにポイントを追加し、Cookie に保存されているスコアを更新します。これは、ほとんどの更新を処理するタイマーです。

setInterval(mainTimer, 1000); //set timer
function mainTimer(){
    createPage(); //updates the page variables and shows the score
    addValues(); //increases the values

}

私が抱えている問題は、人々が単に複数のページを開くことができ、タイマーがそれらのページごとにトリガーされることです。したがって、4 ページ開いている場合、スコアは 4 倍の速さで更新されます。

さまざまなことをグーグルで検索しましたが、うまくいくものは見つかりません。それを行う方法は、私が推測しているトークンになりますが、正直なところ、どこから始めればよいかわかりません。

既存のウィンドウを確認するために open.window 関数について何かを読みましたが、具体的なことは何もできませんでした。

open.window("foo","bar"); 
4

1 に答える 1

1

タイムスタンプと以前の値を Cookie 内に保存し、それらを更新する前に一致をチェックすることもできます。したがって、間隔で、現在のタイムスタンプが最後のタイムスタンプから少なくとも 1000 ミリ秒経過しているかどうかを確認します。そうである場合はスコアとタイムスタンプを更新し、そうでない場合はエラーを出します。

つまり、サーバー側の検証を行わない JavaScript ゲームは「ハッキング」されやすいということです。

于 2015-08-21T20:52:01.097 に答える