2

多くの人が接続文字列をハードコーディングするのではなく、web.config ファイルに保持しているのを見てきました。しかし、特にすべてのユーザーに同じ接続文字列が使用されている場合は、非常に危険です。これは、Web 構成ファイルにアクセスできる人なら誰でも、データベースのユーザー名とパスワードを簡単に取得して、あらゆる種類の重大な操作を実行できることを意味します。このトレードオフに値するコードを掘り下げずに接続文字列を変更できるでしょうか? 構成ファイルに接続文字列を保持することの他の利点はありますか?

4

2 に答える 2

5

Web.config ベースの接続文字列は安全ではないようです。しかし、考えてみてください。ある人が web.config を読み取ることができる場合、その人はおそらく既にハッキングまたはファイルへのアクセスを取得しているため、サーバー上の任意のファイルを編集できることを意味します。だから、それは本当に大した問題ではありません。ただし、さらに安全性を確保するために、次のことができます。

  1. 接続文字列を暗号化し、その暗号化された文字列を Web.config に配置してから、復号化して DLL ファイルを読み取ります。

  2. DLL を作成し、その DLL に接続文字列を配置し、後でその DLL への参照を追加して接続文字列を使用します。

ただし、Web.config を使用すると、必要に応じて接続文字列を変更できます。開発、テスト、本番目的のために、5つの異なるサーバーでサイトを実行する必要があるように、コードを常に変更するのではなく、どこにでも異なるweb.configを配置します。したがって、ニーズとサーバーの構成方法に基づいて、いずれかの方法が常に良いか悪いかが決まります。

于 2013-02-19T06:52:31.497 に答える
1

web.config キーを暗号化できます。詳しくはこちらをお読みください web.config を暗号化する

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

web.config を暗号化する

于 2013-02-19T06:52:13.093 に答える