【问题标题】:Where can I store my connection string given by the user in c#?我可以在哪里存储用户在 c# 中提供的连接字符串?
【发布时间】:2020-02-03 10:34:57
【问题描述】:

我创建了一个 Windows 服务和一个安装项目。实际上,我的 DbContext 的连接字符串在我的项目 .config 中,但用户可以看到 .config 的内容并对其进行修改,以便将我的连接字符串存储在哪里?

重要提示:我在项目安装期间从用户界面获取。

【问题讨论】:

  • 我们在不改变ode的情况下,使用配置文件在后期更改连接字符串。因此,如果您不想让用户查看内容,请加密连接字符串并在您使用的代码中解密。
  • @Rafaqat Ali 好的,但是如果我最终加密 mu 连接字符串,当我将执行我的请求时,我将不得不在请求之前解密连接字符串并在之后加密它?

标签: c# connection-string dbcontext setup-project


【解决方案1】:

您可以encrypt the configuration file,这样用户将无法看到连接详细信息。 另一种选择是将其存储在密钥库like here

【讨论】:

  • 请注意,有能力的攻击者仍然能够获取凭据 - 理想情况下,您将使用 Windows 集成安全性进行连接,因此一开始就不会存储密码。如果您想阻止用户直接访问 SQL,那么您需要在中间放置一个层(即您的程序调用的 API 以对其请求执行数据库访问)
猜你喜欢
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-29
相关资源
最近更新 更多