Клиент у нас ничего не решает, только отрисовка событий на сервере,
тогда клиент отправляет серверу просто запрос например - "idUser+commandMoveTo10" (без всякого шифрования).
Сервер в свою очередь знает текущее состояние юзера с idUser, понимает можно ли ему выполнить commandMoveTo10,
и отправляет уже клиенту можно либо нельзя. После чего клиент либо рисует, либо нет.
логика правильна в принципе, но не совсем... если это шутер то нужно так:
игрок сдвинулся вправо на 20м, мы отправляем на сервер и не дожидаясь ответа движемся на основании текущей информации, когда пришел ответ - если все правильно сделали, то не трогаем, если нет - то корректируем и все...(интерполяция, экстраполяция кароче....) хоть такой способ сложнее, но все шутеры именно им пользуются, иначе создастся тупое впечатления замедленной реакции...
если это онлайн-рисовалка или шахматы и тп. то в этом нет смысла... тут пинг в 200-300мс большой роли не играет...
Какие при этом могут возникнуть проблемы, кроме большой нагрузки на сервер?
никаких. разве что читерство, потому нужно все проверять(в шутерах проверяется по упрощенным формулам, допуская в % ошибку...)
Это поле из "flashVars"?
Если да то оно как я понимаю никогда не меняться и для каждого приложения установленного у пользователя оно разное, или как?
.......
Все кажись разобрался:
Вычисляется по формуле:
auth_key = md5(api_id + ‘_’ + viewer_id + ‘_’ + api_secret)
Так как у нас поля "api_id, viewer_id, api_secret" всегда статичны и только мы знаем api_secret, то мы просто генерируем для себя auth_key, пароль для каждого пользователя. И уже его проверяем при следующем входе.
Правильно понял?
нет, не правильно) поле auth_key передается с флешварс или через $_GET для php и его не нужно генерировать... при каждом заходе в приложение он передается и мы может спокойно ним пользоваться...
Что мешает злоумышленнику подложить чужой ID и от его имени что либо сделать?
проверка auth_key'а(мы на сервере генерируем правильный, в зависимости от айди, а потом сверяем с присланным), т.к. злоумышленник его знать не может(потому-что не знает секретного ключа, а значит он не может сгенерировать его), кроме случаев кражи auth_key'а....
Может уже не по теме:
От так называемых "ботов" нас это никак не защитит?
никак. от ботов защита уже делается самостоятельно, например отсылая необычные пакеты, используя кейлогер(писать нажатия клавиш и их проверять), проверять на % тупых действий и много других способов...
upd: почитай мой урок
http://flapps.ru/forum/topic7181.html, найдешь много нового=) так именно есть и авторизация и проверка аутз_кея и отсылка и прием сообщений....