Защита Firebase на мобильных устройствах [закрыта]

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

Что мешает злоумышленникам совершать множество звонков в Firebase и рубить лимиты наших аккаунтов или, что еще хуже, увеличивает наш счет?

Я знаю, что управлять собственным сервером лучше во многих отношениях, но у меня нет ресурсов или знаний, чтобы запускать его сам в этот момент. Мне также нравятся функции Firebase и считаю, что Google решил это каким-то образом, о котором я не знаю.

firebase,unity3d,firebase-security,

-1

Ответов: 1


1 принят

Как и большинство API, для которых требуется ключ API, такой как карта Google, вы не должны позволять пользователям общаться с ними напрямую.

Вы должны иметь свой собственный сервер и каждый пользователь создавать имя пользователя и пароль. Пользователям необходимо будет войти на ваш сервер, чтобы использовать функцию Firebase, требующую оплаты. Когда вы входите на свой сервер, ваш сервер отвечает за выполнение запросов и отправку результата запроса обратно в приложение Unity. Приложение Unity делает запрос на ваш сервер, ваш сервер проверяет, достиг ли лимит в этой учетной записи, а затем решает сделать фактический запрос и возвращает результат.

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


EDIT :

Ответ выше по-прежнему применяется ко многим другим API, для которых требуются ключи API. К счастью, Firebase имеет функцию под названием «Правила безопасности Firebase», и это может быть полезно в вашем случае. Вы можете использовать «Правила безопасности Firebase», чтобы создать правило ограничения скорости, которое каждый раз, когда есть запрос, вы можете проверить метку времени и затем обновить базу данных с текущим временем запроса. С помощью этого вы можете реализовать что-то вроде 1 запросов в минуту.

Существует простой пример здесь . Существует также более сложный и полный пример здесь тоже.

firebase, Unity3D, firebase-безопасности,
Похожие вопросы
Яндекс.Метрика