#android #security #root #in-app-billing
#Android #Безопасность #root #выставление счетов в приложении
Вопрос:
Я разрабатываю приложение для Android, которое будет предлагать пользователю выставление счетов в приложении для покупки определенного количества монет (например). Когда эта покупка будет израсходована, я хочу сохранить этот факт, например, увеличив переменную CoinsRemaining.
Простой способ сделать это — увеличить с помощью переменной и обновить ее в SharedPreference во внутренней памяти.
Однако, если устройство внедрено, а пользователь имеет доступ на запись в / data, пользователь, безусловно, может вручную изменить настройки, чтобы увеличить эту переменную CoinsRemaining.
Я знаю, что всегда есть компромисс между усилиями, необходимыми для обеспечения безопасности чего-либо, и тем, насколько ценен защищенный контент и т.д. Есть ли более безопасный способ добиться этого без использования сложных стратегий на стороне сервера?
Комментарии:
1. Не могли бы вы просто проверить на сервере значение coinsRemaining? Код не был бы таким сложным, и это избавило бы вас от потери денег…
Ответ №1:
Вы можете использовать безопасные настройки, но ключ шифрования также должен быть сохранен где-нибудь на устройстве или в коде вашего приложения. Вы можете использовать keystore
для сохранения в нем ключа шифрования.
Проекты безопасных настроек: scottyab / secure-preferences, kovmarci86 / android-secure-preferences