Надстройка Excel надстройка C# для подключения к оракулу. Это безопасно?

Я создал надстройку Excel 2007, используя Visual Studio 2008 и встроенный шаблон проекта. В моем проекте у меня есть класс подключения к базе данных, который подключается к базе данных Oracle с помощью строки подключения, например:

string connectionString = "Data Source=ibd1.dev;User Id=xxx;Password=xxx;";

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

Я должен упомянуть, как он развернут. Я использую функцию «Опубликовать» в Visual Studio для размещения установочных файлов на общем сетевом диске, к которому может получить доступ любой сотрудник компании. В полученном каталоге есть файл setup.exe, файл VSTO и пара подкаталогов с файлами DLL и MANIFEST. У меня нет большого опыта в развертывании, так как обычно я разработчик веб-приложений.

Любой совет будет принят во внимание.


person dave823    schedule 05.07.2012    source источник


Ответы (3)


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

Да. Такие инструменты, как Reflector, dotPeek и т. п., упрощают эту задачу.

Я, вероятно, не стал бы напрямую подключаться к базе данных из надстройки VSTO. Вместо этого я бы вызвал веб-службу (которая взаимодействует с БД), и пользователю нужно будет пройти аутентификацию в веб-службе либо с помощью имени пользователя и пароля, встроенной аутентификации Windows и т. д.

person vcsjones    schedule 05.07.2012
comment
Спасибо за информацию, я не думал о веб-сервисе в этом случае. Думаю, это именно то, что мне нужно. - person dave823; 06.07.2012

Да, его легко декомпилировать, но вы можете зашифровать соединение string, чтобы уменьшить количество проблем. Но если это не отдельное приложение, вы можете использовать базу данных из служб на стороне сервера.

person Saeed Amiri    schedule 05.07.2012

Как и все приложения .NET, библиотеки DLL можно очень легко декомпилировать, в результате чего строка подключения и пароль будут представлены в виде простого текста. Вы можете проверить это самостоятельно в течение нескольких минут, загрузив бесплатный декомпилятор (я предлагаю http://www.jetbrains.com/decompiler /).

В .NET есть функции для шифрования строк подключения. Ознакомьтесь с документацией здесь: http://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx

person Dan Ling    schedule 05.07.2012