2

VisualStudio2008と組み込みのプロジェクトテンプレートを使用してExcel2007アドインを作成しました。私のプロジェクトには、次のような接続文字列を使用してOracleデータベースに接続するデータベース接続クラスがあります。

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

私の質問は、アドインがデプロイされた後、これはどれほど安全かということです。エンドユーザー(またはいたずら好きなハッカー)がアドインを逆コンパイルして接続文字列を確認することは可能ですか?可能であれば、それを危険にさらすことはできません。

私はそれがどのように展開されているかについて言及する必要があります。Visual Studioの「公開」機能を使用して、社内の誰もがアクセスできる共有ネットワークドライブにインストールファイルを配置しています。結果のディレクトリには、setup.exe、VSTOファイル、およびDLLとMANIFESTファイルを含むいくつかのサブディレクトリが含まれます。私は通常、Webアプリの開発者であるため、デプロイメントの経験はあまりありません。

何かアドバイスをいただければ幸いです。

4

3 に答える 3

2

エンドユーザー(またはいたずら好きなハッカー)がアドインを逆コンパイルして接続文字列を確認することは可能ですか?可能であれば、それを危険にさらすことはできません。

はい。Reflector、dotPeekなどのツールはそれを簡単にします。

おそらく、VSTOアドインからデータベースに直接接続することはないでしょう。代わりに、(DBと通信する)Webサービスを呼び出し、ユーザーはユーザー名とパスワード、Windows統合認証などを使用してWebサービスに対して認証する必要があります。

于 2012-07-05T20:54:46.207 に答える
1

はい逆コンパイルは簡単ですが、接続文字列を暗号化して問題を減らすことができます。ただし、スタンドアロンアプリケーションでない場合は、サーバー側サービスのデータベースを使用できます。

于 2012-07-05T20:55:35.147 に答える
1

すべての.NETアプリケーションと同様に、DLLは非常に簡単に逆コンパイルでき、接続文字列とパスワードがプレーンテキストで公開されます。無料の逆コンパイラーをダウンロードすることで、数分以内にこれを自分でテストできます(http://www.jetbrains.com/decompiler/をお勧めします)。

.NETには、接続文字列を暗号化する機能があります。次のドキュメントを試してください: http: //msdn.microsoft.com/en-us/library/89211k9b (v=vs.80).aspx

于 2012-07-05T20:57:15.477 に答える