JavaFX приложение, защита Propertyes файлов

259
29 мая 2018, 01:20

Я написал простенький лаунчер на javaFX который коннектится к бд, используя информацию из properties файла находящегося в ресурсах проекта:

Лаунчер берёт хост,имя и пароль юзера, коннектится к бд, получает ссылку на картинку которую затем скачивает.

Меня беспокоит абстрактный злоумышленник который по одному ему известной причине может разобрать мой лаунчер и достать данные properties файлов.

Приложение ученическое и вопросы таковы:

-Есть ли такой подход при котором мне вообще не нужно будет хранить подобные данные в своём приложении, но чтобы оно при этом работало? Если есть, скажите пожалуйста куда гуглить.

-Как я могу защитить свои файлы от потенциального взломщика?

Бд к которой идёт коннект я не админю и в теории я не могу создавать на стороне сервера какие - то правила для своего приложения.

Заранее благодарю

Answer 1

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

Можно немного усложнить жизнь потенциальным взломщикам, используя обфускацию(proguard например), а файлы ресурсов, например, шифровать, и расшифровывать только в рантайме ключом, полученным, с сервера, или спрятанным где-нибудь глубоко в коде. Но и в таком случае знающий человек рано или поздно поймет в чем дело и все равно получит доступ к файлам.

Единственный надежный вариант - добавлять сервер, который будет авторизовать клиента и выдавать ему только те данные, к которым у него есть доступ.

Answer 2

Защитить файл невозможно. Можно его не использовать. Для этого с БД должно не приложение работать, но сервер, к коему приложение будет обращаться по API.

В приложении должна быть возможность дёргать методы API для регистрации и авторизации юзера. Сервер будет назначать юзеру права на вызовы своих методов. Так вы будите полностью контролировать что может юзер сделать с БД.

Но так юзер, конечно, может взломать ваш сервер и вытащить пароль к БД с него. Так что вообще совсем защитить БД не получится никак)

READ ALSO
Как редактировать pga_hba.conf?

Как редактировать pga_hba.conf?

Использую PostgreSQL 96

178
Связанные таблицы в mysql

Связанные таблицы в mysql

Есть 2 таблицы, связанные следобразом:

196
Отключить клики айтемов RyclerView на 3 секунды

Отключить клики айтемов RyclerView на 3 секунды

Есть 4 айтема RecyclerView клик реализовал по LinerLayout, если юзер нажмет на один из айтемов, нужно чтобы в течение 3 секунд клики у всех айтемов отключились,...

158