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