2013-09-14 3 views
-2

У меня есть небольшое настольное приложение C#. Он подключается к серверу postgres db. Я буду распространять это приложение для некоторых пользователей.C# db connection security

Теперь мой вопрос; Может ли кто-нибудь получить строку подключения (имя пользователя, пароль) с помощью программного обеспечения для прослушивания локального порта или любого другого программного обеспечения?

Если да, как я могу предотвратить это?

спасибо.

+0

использование SSL? ................... –

+0

Все, что написано на .NET, должно ** никогда не содержать ** конфиденциальных данных. Любой может декомпилировать его. Что вам нужно сделать, это зашифровать имя пользователя и пароль с чем-то _very_ strong. Вам также нужно будет запутать ваш исполняемый файл в забвении. Попробуйте декомпилировать .NET Reflector. Что вы можете узнать о именах методов? Ничего. –

+0

@Cole, ваше решение - не что иное, как русская кукла. В лучшем случае это безопасность через неясность. –

ответ

3

Да. Ваше приложение может быть декомпилировано, и ваш app.config может иметь пароль.

Вы можете использовать SSL-соединение и зашифрованный app.config.

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