Как избежать хранения пароля БД в виде открытого текста в Excel? - PullRequest
0 голосов
/ 17 мая 2019

В настоящее время у меня есть база данных SQL на сервере.Доступ и запрос данных в настоящее время выполняется из Excel.Пользовательская таблица со свойствами также создается в базе данных SQL, так что каждый пользователь может получать только эти данные и может получать их.

Пока все работает очень хорошо.Теперь моя проблема заключается в том, что пароль находится в текстовом виде в коде VBA (в строке подключения), что не так безопасно.Каково было бы безопасное решение сейчас?Оптимальным будет небольшой интерфейс входа в систему (имя пользователя / пароль), который устанавливает соединение с базой данных и проверяет пользователя в пользовательской таблице.Затем веб-интерфейс открывает файл Excel и передает переменные пользователя и пароля в код VBA в файле Excel.Таким образом, имя пользователя и пароль не сохраняются в файле Excel, но компилируются при входе в веб-интерфейс.

Однако, кроме VBA (хорошие знания), у меня нет реальных знаний в области программирования.Есть ли рекомендация?Может ли быть реализован такой «маленький» logintool с запросом имени пользователя / пароля?Как лучше всего использовать .NET, C #?Является ли пользовательский интерфейс в Access более безопасным?(Защита паролем VBA в Excel, к сожалению, не так безопасна).

1 Ответ

0 голосов
/ 17 мая 2019

Написание внешнего интерфейса на C или Java или что-то еще не решит проблему людей, забывших свой пароль.Если это проблема, используйте хранилище паролей (в идеале, с автоматическим вводом - таким образом, оно автоматически «введет» учетные данные в приложение для них).Если вы заинтересованы в том, чтобы сделать один из них самостоятельно (т.е. создать систему для безопасного хранения пользовательских слов), многие из них имеют открытый исходный код, поэтому посмотрите, как они работают.Может быть, вы могли бы преобразовать его в VBA.

Если вы действительно не хотите, чтобы пользователь вводил пароль, используйте эти инструменты в качестве руководства о том, как зашифровать пароль и надежно сохранить его.Когда файл Excel открыт, вы можете расшифровать его.Если вы пойдете по этому пути, я бы предложил использовать язык, такой как C, для компиляции некоторых функций (включая ключ шифрования) в DLL, к которой Excel может получить доступ для получения пароля.Обратите внимание, что это все еще не слишком безопасно, так как любой, кто может получить доступ к DLL, может получить доступ к паролю (-ам).

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

вы по-прежнему должны запрашивать учетные данные в Excel согласно Ввод пароля Excel VBA

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

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