2008-12-02 6 views
1

Я разрабатываю игру, закодированную во Flash AS3, и вам нужно читать/записывать информацию на SQL-сервер. В настоящее время для тестирования я использую ASQL, который является очень простым и надежным, но ему необходимо прямое соединение с клиентской машиной на SQL-сервер (порт 3306 открыт и позволяет подстановочное имя пользователя подключаться из любого места с помощью пароля) и тем хуже , сам формат .swf не зашифрован, и все декомпиляторы позволят вам извлечь код AS3, что означает пароль, хранящийся в коде.Связь между сервером AS3 и MySQL

Я облавы несколько вариантов, но все они не имеют меры безопасности:

  1. AS3 код Отправка POST REQ на РНР страницу, которая подключается к серверу MySQL
  2. Использование amfphp, но АИФ протокол по-прежнему неудовлетворительно
  3. Сохраняйте текущий метод и вынуждайте пользователей открывать исходящий порт 3306, что может смутить заказчиков.

Помощь/советы/обсуждение будут высоко оценены.

ответ

0

В зависимости от количества необходимых команд, я думаю, вам следует выбрать вариант 1 (только с одной или несколькими командами) или вариант 2 (если у вас есть еще несколько сложных команд для отправки). Не открывайте базу данных в общедоступном Интернете.

В чем проблема, которую вы пытаетесь решить/защитить? Если вся ваша прикладная (игровая) логика находится у клиента, вы не можете помешать людям подделывать результаты. Клиенту никогда не нужно доверять, и никакая защита линии (https или любое другое шифрование связи) не поможет, - это будет удерживать других людей от подслушивания.

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

1

Вы можете использовать HTTP (S) с аутентификацией, например. PHP. Не делайте скрипт оболочкой для SQL-соединения, так как это разрушает точку сценария (существенно); имеют пользовательские команды в качестве протокола (например, добавлять/обновлять высокие баллы).

Смежные вопросы