Безопасное подключение к базе данных в приложении Electron JS Production? - PullRequest
0 голосов
/ 12 апреля 2020

Я недавно начал разрабатывать с NodeJS и Electron JS, чтобы создать довольно красивое кроссплатформенное программное обеспечение. Я хочу сделать еще один шаг и интегрировать некоторые функции базы данных.

Хотя я знаю, что для установки доступно mysql пакетов, я опасаюсь, что кто-нибудь может просто распаковать мой asar.app файл и увидеть все детали подключения, включая имя пользователя, пароль, имя базы данных, имя таблицы и другой конфиденциальный контент, который вы действительно не хотите раскрывать людям, достаточно умным, чтобы взломать исходный код вашего приложения.

Я много пытался найти решения этой проблемы, о чем удивился, обнаружив очень мало. Как WhatsApp и Slack защищают подключения к своей базе данных, если они также были построены с Electron JS?

Любые и все ресурсы очень ценятся. По сути, я хочу иметь возможность подключаться к базе данных SQL рабочего сервера в приложении Electron JS, не оставляя бэкдора безопасности любому, кто взломает файл ASAR.

Спасибо !!

1 Ответ

1 голос
/ 13 апреля 2020

Для этого сценария я предлагаю вам использовать архитектуру веб-сервиса RESTful. В основном вам нужны 3 компонента, веб-сервер RESTful, клиентское приложение (ваш электрон) и служба базы данных (см. Следующее изображение; источник: phppot.com). Для этого я предлагаю вам использовать nodeJS бэкэнд и создать веб-сервис, используя expressJS. Вы можете определить Restful (GET, POST, UPDATE, DELETE) API для каждой службы. Например: чтобы получить некоторые данные из вашей базы данных, вы можете отправить запрос GET по следующему пути <yourdomain>:<port>/api/v1/getyoursomthin, используя ваше электронное приложение. Ваше приложение express обработает запрос и получит соответствующие данные из базы данных ( Tutorial ). Таким образом, ваше приложение может получить ответ от сервера и отобразить его пользователю. Я добавлю ссылку на некоторые уроки. Вы можете найти и узнать больше с помощью google:)

image1 | source: phppot.com (источник: phppot.com)

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