0

在我的asp.net应用程序中,第一次启动应用程序时,如果没有提供数据库连接,它将重定向到单独的页面要求输入数据库详细信息,如果他们提供了有效的详细信息,我们必须创建新数据库并需要在整个应用程序中使用该连接字符串。

这是我的场景,在创建数据库后,我以编程方式将连接字符串存储在 web.config 文件中,但是当我尝试重用连接字符串时,它显示空字符串。

我知道 web.config 文件只给出我们在编译时提供的值。为了克服这种情况,我使用 XML 文件来存储连接字符串,该字符串不安全,无法存储安全和敏感信息。因为我的应用程序应该能够从前端更改连接字符串。

我的问题是:

  1. 有什么方法可以安全地存储连接字符串,并且如果从应用程序更改,则必须动态更改。
  2. 我可以通过浏览器访问我的 XML 文件,并且可以查看所有连接详细信息,如何限制从 URL 访问 XML 文件。

任何其他更好的解决方案都值得赞赏。

4

1 回答 1

0

1)有没有办法安全地存储连接字符串,如果从应用程序更改,则必须动态更改。

为什么不加密存储连接字符串?连接字符串只是一个字符串,因此您可以将其存储在 XML 甚至另一个数据库中。您需要让您的代码将此作为连接字符串读取,而不是从web.config. ASP.NET 应用程序不需要从web.config.

2) 我可以通过浏览器访问我的 XML 文件,并且可以查看所有连接详细信息,如何限制从 URL 访问 XML 文件。

将您的文件存储在/App_Data其中 - 这是一个特别受保护的 .NET 文件夹,不允许通过 Web 服务器进行访问。即http://www.example.com/App_Data/foo.xml无法读取。

于 2014-08-10T13:02:24.917 回答