Как передать неизменные данные через две веб-страницы, которые не могут быть созданы пользователем - PullRequest
0 голосов
/ 01 июня 2010

У меня есть флэш-приложение (игра), и оно должно передавать данные на страницу php, чтобы сохранить пользователя и счет пользователя. Однако я не хочу, чтобы пользователь мог сам изменить счет или начать начисление очков без использования приложения.

Каков наилучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 01 июня 2010

Если клиент (например, flash) отслеживает / генерирует счет, для вас нет безопасного способа отправить счет на сервер. Что бы ни делал swf-файл, злоумышленник также может подражать.

Единственный безопасный способ - отправлять каждое движение пользователя или действие на сервер. Сервер отвечает за состояние игры и ведение счета; клиент просто генерирует ходы.

При таком подходе атакующий не может манипулировать счетом. Он все еще может обойти ваш SWF-файл, но чтобы получить высокий балл, ему все равно нужно делать правильные шаги. Атакующий может заставить бота делать ходы разумно; чтобы избежать этого, вы можете использовать безопасность только по неясности.

1 голос
/ 01 июня 2010

Реализация функции хеширования md5, хэширования счета и имени пользователя.

Затем загрузите PHP-файл из Flash с оценкой, именем пользователя и md5-hash в качестве GET-параметров. PHP-файл проверяет данные путем повторного хеширования значений.

Поскольку Flash работает в браузере, его можно перекомпилировать, поэтому вы не можете быть уверены на 100%. Если вы хотите получить полную уверенность, вы должны проверить каждый шаг, который пользователь выполняет с сервером.

0 голосов
/ 01 июня 2010

У вас есть две услуги. Одним из сервисов является игровой сервис. Другим сервисом является сервис скоринга. Вам нужно настроить какую-то аутентификацию вокруг вашей службы скоринга. Тогда вашему игровому сервису необходим набор учетных данных для доступа к этой аутентификации.

Один из подходов заключается в том, чтобы окружить ваш счет-сервис https и получить доступ к токену https. Тогда ваш игровой сервис может быть жестко закодирован в серверный код самой игры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...