Безопасно ли хранить данные игрока в базе данных Firebase? - PullRequest
0 голосов
/ 10 октября 2019

Я хочу создать базу данных для хранения результатов моих игроков в моей игре. Если игрок выиграет, его счет будет +1 в базе данных. Я собираюсь использовать базу данных Firebase в реальном времени. Но безопасно ли это?

Предположим, моя логика выглядит следующим образом:

if (player.wins()) {
increaseScore();
}
else {
reduceScore();
}

// Здесь увеличенные оценки () и уменьшение оценки () - это просто код для обновления счета в базе данных.

Но проблема в том, что если кто-нибудь откроет мой исходный код моей игры, а затем изменит его на:

if (player.wins()) {
reduceScore();
}
else {
increaseScore();
}

Это обман. Может ли кто-нибудь связываться с моей базой данных Firebase, как это? Или только подписанный APK от меня может получить к нему доступ?

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Может ли кто-нибудь связываться с моей базой данных Firebase следующим образом?

Да, любой человек во всем мире может читать и записывать в вашу базу данных. Чтобы сделать это, злоумышленник должен знать только имя вашего проекта Firebase. Это имя действительно существует прямо в вашем приложении. В любое время вы можете ожидать, что игра, которую вы сейчас создаете, будет подвергнута реверс-инжинирингу и изменению в том виде, в котором вы говорите, просто изменив это утверждение if или даже хуже.

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

Или только подписанный APK от меня может получить к нему доступ?

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

Безопасно ли хранить данные игрока в базе данных firebase?

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

0 голосов
/ 10 октября 2019

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

Говоря о пожарной базе, это безопасно, и многие известные компании используют это. Вам просто нужно добавить правила аутентификации, чтобы сделать его более безопасным и предоставить только аутентифицированный доступ.

Здесь читайте больше об этом.

https://firebase.google.com/docs/database/security

Есть ли какие-либоспособ получить хеш ключа от подписанного APK?

https://proandroiddev.com/secure-data-in-android-encryption-in-android-part-1-e5fd150e316f

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...