В дополнение к тому, что сказал Ларри, вам определенно придется обрабатывать подсчеты на бэкэнде, чтобы действительно предотвратить мошенничество / фальшивые записи.
В качестве примера на практике ... Игра Word Wars - это игра в духе ошеломления, в которой вы можете найти как можно больше слов из сетки букв 4х4.
В начале каждой игры на сервере создается доска 4х4. Создается список возможных слов для этой доски, и хэшированная версия (md5'd со случайной солью) каждого слова, а также соль передается клиенту.
На стороне клиента, когда набираются буквы и нажимается клавиша ввода, мы вводим md5 (с солью с сервера) введенное слово и проверяем его по списку хешированных слов, предоставленных сервером. Если это совпадение, мы обновляем клиента новым счетом (есть функция, основанная на используемых буквах и их значениях баллов).
Как только игра заканчивается, клиент отправляет на сервер список слов, которые он придумал (НЕ счет), и сервер дважды проверяет, что эти слова присутствовали на доске, и обрабатывает подсчет очков.
Здесь Clay.io, компания, в которой я работаю. Clay.io предлагает API для высокоуровневых функций HTML5-игр, таких как таблицы лидеров, достижения, обработка платежей и т. Д. Излишне говорить, что нам нужно решение для игр, в которых есть бэкэнд, чтобы сделать некоторые вещи, такие как высокие результаты, более безопасными.
Решением было зашифровать объекты JavaScript на серверной части (node.js, php и т. Д.) С помощью JWT (JSON Web Token) и передать этот зашифрованный объект, а не сам счет. Это позволяет нам общаться обоими способами (игра -> Clay.io и Clay.io -> игра), и это довольно безболезненно. Полные документы по этому вопросу находятся здесь: clay.io / docs / encryption (максимальное количество ссылок на этот ответ)
Назад к Word Wars ... с сервера мы генерируем этот JWT со счетом пользователя и передаем его в Clay.io для публикации счета. Вуаля:)
Конечно, это будет отличаться в зависимости от типа игры, которую вы разрабатываете, но мораль этой истории в том, что вы должны проявить креативность:)
Я написал пост в блоге, в котором более подробно рассказывается о безопасности игры HTML5. Часть 3 из серии, посвященной HTML5. Советы по разработке игр .