У меня мало информации о Flash, но для небольшой флеш-игры я должен хранить оценки и успешные попытки пользователей в базе данных с помощью PHP. Теперь Flash запускается локально на компьютере пользователя и подключается к удаленному серверу. Как я могу защититься от манипуляций с игровыми счетами. Существует ли какая-либо передовая практика для этого случая использования?
Вы можете проверить эти другие вопросы:
То, что вы просите, по своей сути невозможно. Игра работает на клиенте и поэтому полностью зависит от пользователя. Единственный способ убедиться в том, что в реальном времени симуляция игры на сервере выполняется на основе ввода пользователя (движение мыши, нажатия клавиш), что абсолютно смешно.
Эта тема была рассмотрена здесь @ stackoverflow, по крайней мере частично
Каков наилучший способ остановить людей, взломавших таблицу рекордов на основе PHP в флеш-игре
Как указывал ssddw, это принципиально невозможно. Код для отправки оценки выполняется на компьютере пользователя, и они контролируют его и все, что там работает.
Лучшее, что вы можете сделать, это периодически изменять механизм шифрования, чтобы он часто искал счетчиков, чтобы понять это снова. Вы можете только свести к минимуму ущерб, никогда не устранять его, но на сайте, на котором я работаю, если у нас есть только сто человек, отправляющих поддельные оценки, из сотен тысяч, которые мы видим каждый день, мы считаем, что хорошо в пределах приемлемого. (Мы все еще раздавим тех, кого мы ловим обманом, но мы не рассматриваем это как часть проблемы.)
Вы могли бы, по крайней мере, выбросить баллы, которые выше определенного порога, который вы считаете законным. Он по-прежнему оставляет место для более тонкого манипулирования списком высоких баллов, но, по крайней мере, поможет облегчить очевидное разочарование в том, что невозможно достичь результата, превышающего диаграммы.