Ок )
Но он вроде открыт.
Доступ к API закрыт.(Белый список в действии)
После обновления распишу что да как.
И так, первый этап обновления я завершил и теперь расскажу как организована защита.
Запросы к API теперь очень сильно отличаются от начального варианта, второй пост в теме я позже поправлю.
Для получения доступа к сервису необходимо пройти процедуру регистрации проекта, после одобрения заявки проект добавляется в белый список и получает "API key". Этот ключ используется в основном для логирования и контроля запросов. (Например, с вашего проекта идет атака, для сохранения БД в чистоте ваш ключ блокируется и на контактный e-mail высылается новый, но только после окончания атаки; или мирный пример - вам нужно посмотреть статистику авторизации\регистрации и вы делаете соответствующий запрос)
Регистрация будет ручная, то есть каждая заявка будет рассматриваться мной индивидуально. (Возможно, позже будут ещё модераторы)
Теперь про фильтрацию запросов. Защита блокирует все запросы со всех отсутствующих в списке ip адресов. То есть идет обработка запросов только с определённых ip адресов и это адреса самих проектов. (Сервер или сайт или ещё откуда, но адрес известен системе и он постоянен)
В итоге лаунчеры не могут подключаться "напрямую", им придется подключиться к сайту, а уже сайт в свою очередь обращается к системе авторизации.(Сайт взят для примера, возможны другие схемы)
Для чего это сделано. Ну, во-первых, для снижения нагрузки на сервер авторизации, во-вторых для избежания блокировки сайта хостингером за перерасход ресурсов, в-третьих для снижения возможности атаки.
На случай блокировки. Если ваш "API key" будет заблокирован, то с вашего проекта нельзя будет регистрироваться и запросы авторизации так же будут отклонены. По этому, при реализации своих скриптов, учитывайте это и делайте кеширование данных игроков, чтобы на случай блокировки возможность авторизации оставалась.
Пока-что для регистрации можете обращаться ко мне в ЛС или скайп. Немного позже сделаю возможность оставить заявку на сайте + отображение очереди на модерацию.
Из улучшений планирую сделать глобальную систему скинов и отображение игрового статуса.(Типа "играет на таком-то сервере" или "5 минут назад зашел туда-то")