Как предотвратить обман на игре JavaScript?

Во-первых, я знаю, что нет 100% уверенного решения, и этот вопрос задавался не раз.

Эти посты мои любимые первый а также второй но они слишком стары без достаточно эффективных решений.

Я создаю социальную игру на JavaScript, HTML5 и CSS3 и использую canvas.
В целях безопасности я хотел знать, как определить, использует ли пользователь свой инструмент отладчика. Чтобы предотвратить, если пользователь пытается изменить какое-то значение, скорость и т. Д., Но я могу справиться с большинством этих вещей с помощью PHP.

Моя игра — игра в реальном времени.

Это не полный список некоторых идей против мошенничества:

  • Проверяйте значения каждый раз, когда он зарабатывает очки на стороне сервера, чтобы убедиться, что они согласованы.
  • Зашифруйте каждое значение, а затем расшифруйте его на стороне сервера.
  • Для каждого значения используйте разные хеши и делайте его случайным при каждой загрузке игры пользователем.
  • Сократите и закодируйте весь мой файл сценария.
  • Определите, использует ли пользователь отладчик, и проверьте, не изменяет ли он размер своего окна во время игры (но он может открыть свой отладчик перед загрузкой игры, так что …).
  • Сделайте так, чтобы страница представила полный повтор игры и проверила наличие несоответствий.
  • для каждого запроса на сервер отправьте сценарий и сравните его с исходным сценарием, если пользователь изменил его.
  • Поместите минимизированный скрипт в мою html-страницу и для каждого запроса отправляйте обратно оригинальный скрипт, чтобы заменить реальный.
  • Установите таймер на стороне клиента, отправьте время на стороне сервера, когда хотите, чтобы проверить, соответствуют ли значения (чтобы это сделать, вы можете рассчитать, соответствует ли результат минимальному времени, которое вы установили, например: время составляет 47 секунд, счет 1000 и для вашей игры между 40 сек && 50 сек. Счет не может быть больше 1500, так что в этом случае все в порядке).

Конечно, есть еще много решений для перечисления.

Для каждого решения он будет иметь доступ к своему инструменту отладчика.
Не существует надлежащего способа полностью предотвратить использование инструмента отладчика.
Так что нет никакого способа, чтобы на 100% запретить пользователю не обманывать.

По крайней мере, вы можете сделать почти анти-чит, сгруппировав все эти решения вместе.
Даже если у вас нет полноценной рабочей системы, обмануть будет только небольшая часть ваших пользователей, и вы можете быть уверены, что найдете учебник о том, как обманывать вашу игру, так что вы сможете найти решение для каждого раз это случается.

4

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …