Excel加载项C#oracle连接。它安全吗?

时间:2012-07-05 20:51:21

标签: c# vsto excel-addins

我使用Visual Studio 2008和内置项目模板创建了一个Excel 2007加载项。在我的项目中,我有一个数据库连接类,它使用连接字符串连接到Oracle数据库,例如:

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

我的问题是,部署加载项后这有多安全。最终用户(或恶作剧的黑客)是否有可能对加载项进行反编译并查看连接字符串?如果可能,我不能冒风险。

我应该提一下它是如何部署的。我在Visual Studio中使用“发布”功能将安装文件放在公司内部任何人都可以访问的共享网络驱动器上。生成的目录有一个setup.exe,一个VSTO文件,以及带有DLL和MANIFEST文件的几个子目录。我没有太多的部署经验,因为我通常是一个Web应用程序开发人员。

任何建议都将受到赞赏。

3 个答案:

答案 0 :(得分:2)

  

最终用户(或恶作剧黑客)是否有可能对加载项进行反编译并查看连接字符串?如果可能,我不能冒风险。

是。像Reflector,dotPeek等工具使这一点变得微不足道。

我可能不会直接从VSTO Add In连接到数据库。相反,我会调用一个Web服务(与数据库对话),用户需要使用用户名和密码,Windows集成身份验证等对Web服务进行身份验证。

答案 1 :(得分:1)

是的,反编译很容易,但你可以encrypt your connection string来减少问题。但如果它不是独立应用程序,您可以使用服务器端服务中的数据库。

答案 2 :(得分:1)

与所有.NET应用程序一样,DLL可以非常容易地反编译,这将以纯文本形式显示连接字符串和密码。您可以通过下载免费的反编译器(我建议http://www.jetbrains.com/decompiler/)在几分钟内自行测试。

.NET具有加密连接字符串的功能,请在此处尝试文档:http://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx