3

これが私の接続文字列です:

  <connectionStrings>
    <add name="ArticleDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="BlogDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="CompanyDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="UserProfileDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb1.mdf;User Instance=true" providerName="System.Data.SqlClient" />
  </connectionStrings>

アプリケーションの実装に関する考慮事項について、このhttp://msdn.microsoft.com/en-us/library/ms181873(v=vs.90).aspxを読んでいました。

これらにパスワードを設定してから暗号化する必要があると思います。それは正しいですか、そして事後にどうすればいいですか?web.configファイルにパスワードを入れることに懸念はありますか?私はあなたのパスワードを読み取ることができる逆コンパイラーについて何かを読みました...これは本当の脅威ですか?このアプリを保護するにはどうすればよいですか?

4

2 に答える 2

3

設定ファイルに保存されている機密情報は常に暗号化する必要があります。プログラムで、または経由で実行できますaspnet_regiis(詳細についてはドキュメントを参照してください)。

なんで?

なぜなら、人々さまざまな脆弱性を介してプレーンテキストでweb.configファイルをダウンロードし、すべての接続文字列、ユーザー名、パスワードなどを読み取ることができるからです。

考えられる攻撃リスト:

  • ビデオ付きMS10-070
  • マシン上の他のユーザーは、web.configを読み取ることができます。これにより、OS自体に対するすべての開示された攻撃と開示されていない攻撃の膨大なリストが追加されます。
  • IIS FTPへの攻撃とそれに続くweb.config送信、たとえばこれ
于 2012-08-27T12:17:00.970 に答える
1

おそらくそうではありません。web.configファイルのパスワードは通常、リモートSQLサーバー(または他のデータベース)に接続するための認証の詳細を公開します。これはあなたが守りたいと思うようなものです。

データベースファイルはさまざまなファイル(ローカルに保存されている)であり、SQL Expressデータベースには統合セキュリティを使用してアクセスできるため、そのままにしておいてかまいません。

于 2012-08-27T12:06:54.437 に答える