Скрытие пароля в электронном приложении - PullRequest
0 голосов
/ 26 мая 2020

У меня есть приложение Electron, которому необходимо подключиться к внешнему PouchDB / CouchDB и FTP-серверу для получения некоторых данных. Итак, в моем коде я использую

remoteDB = new PouchDB('http://my-Couch-User:my-Couch-Password@123.456.789.225:5984/myDB');
ftp.connect({host: ServerIPAddress), user: 'my-FTP-user', password: 'my-FTP-Password'});

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

Есть ли у кого-нибудь идея, как хоть немного их спрятать? (Я знаю, что их невозможно защитить под JavaScript)

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

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

Но люди с небольшими знаниями все равно смогут получить информацию в обоих случаях.

0 голосов
/ 26 мая 2020

Рассмотрите возможность хранения конфиденциальных данных в переменных среды и доступа к ним, например, через process.env.FTP_USERNAME и process.env.FTP_PASSWORD.

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

Если у вас много значений конфигурации, учетных данных или токенов, вы можете рассмотреть возможность использования dotenv (https://www.npmjs.com/package/dotenv) или чего-то подобного.

Edit

Теперь, когда мы узнали о требованиях OP с его комментариями под этим ответом ...

  • Невозможно скрыть пароли ни в одном приложении. Их всегда можно будет извлечь.
  • Рассмотрите возможность изменения кода на стороне сервера, чтобы ваши приложения взаимодействовали не с FTP-сервером напрямую, а с прокси, где учетные данные не требуются. Затем прокси-сервер общается с FTP-сервером, и учетные данные не будут открыты.
  • Рассмотрите возможность использования системы, которая предоставляет доступ через токены в дополнение к учетным данным. Вы можете попросить пользователей войти в систему с их личными учетными данными, и система сможет сгенерировать и отправить личные токены доступа для сервера.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...