2014-12-10 2 views
0

Простая архитектура и резюме дилеммой:Forwarding Проверка подлинности клиента от LoginServer Для Gameserver НАДЕЖНО

  • точки входа:Client успешно проходит проверку подлинности одноточечного LoginServer (через TCP поставляет соединение действует имя пользователя + пароль). LoginServer является единственным сервером, имеющим доступ к базе данных соленой регистрации.
  • LoginServer интеллектуально выбирает одну GameServer из списка GameServer (ов) назначить этот Client. После присвоения GameServer, Клиент отправит запросы ввода-вывода указанному GameServer исключительно, который будет обработан внутренне по природе игрового дизайна.
  • Дилемма: GameServer не содержит данных Client и ничего не знает о "рукопожатия", который проходил между LoginServer и Client. GameServer не может помещать часть аутентификации от LoginServer к соответствующим образом нанесенным на карту Клиент ... потому что с ним нужно работать?

  • Потенциальное решение: После успешной аутентификации LoginServer, Client присваивается уникальный маркер для проверки себя Gameserver (ов).

Боковое примечание: Я предполагаю, что использование чего-либо на основе IP-безопасности является проблемой безопасности из-за потенциального IP-подмены.

ответ

0

Вы можете создавать сеансы между серверами и клиентами.

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

Extra Reading -

Creating a secure login using sessions and cookies in PHP

http://blog.teamtreehouse.com/how-to-create-bulletproof-sessions

What are sessions? How do they work?

PHP Session Security

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