Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net web配置安全性_C#_Asp.net - Fatal编程技术网

C# asp.net web配置安全性

C# asp.net web配置安全性,c#,asp.net,C#,Asp.net,我在考虑asp.net应用程序中web配置文件的安全性,因为web配置文件通常包含到应用程序数据库的连接字符串,因此安全性很重要 在asp.net应用程序中,可以使用以下方法从web配置文件检索连接字符串: ConfigurationManager.ConnectionStrings["connectionstring"] 假设某个新用户是连接字符串的密钥,那么他们是否能够以某种方式将该请求发送到服务器并获得响应,或者是否存在某种安全机制来防止这种情况发生 如果他们能够做到这一点,他们如何做到

我在考虑asp.net应用程序中web配置文件的安全性,因为web配置文件通常包含到应用程序数据库的连接字符串,因此安全性很重要

在asp.net应用程序中,可以使用以下方法从web配置文件检索连接字符串:

ConfigurationManager.ConnectionStrings["connectionstring"]
假设某个新用户是连接字符串的密钥,那么他们是否能够以某种方式将该请求发送到服务器并获得响应,或者是否存在某种安全机制来防止这种情况发生

如果他们能够做到这一点,他们如何做到这一点,可以采取什么措施来防止这种情况,例如加密连接字符串


编辑:这不是问题的重复,因为我的问题是,是否有可能欺骗服务器提供此信息,如果有,我们如何防止它。指定的问题是询问如何加密相关但不相同的数据

考虑到您使用的是asp.net应用程序,用户不应访问web.config


只要不使“connectionstring”可替换或ConfigurationManager.connectionstring[“connectionstring”]数据公开,就应该可以了。

ASP.NET永远不会通过HTTP提供web.config文件(或任何其他.config文件),因此答案是否定的,您不必担心这一点

如果您仍然担心web.config文件的内容会以某种方式被暴露,请查看对该文件的加密

特别是关于连接字符串,您还可以使用集成安全性,这样,您甚至不必在连接字符串中公开DB user/pass


默认情况下,IIS配置为不提供某些类型的文件,此列表中包含的一种默认类型是扩展名为.config的任何文件。但是,管理员在测试不同的配置设置时,可能会错误地将web.config重命名为提供服务的类型,例如web.old,这意味着实际上可以提供服务。类似地,很可能有人错误地从未提供服务的IIS类型的筛选器中恶意删除.config类型

因此,推荐的做法是加密配置文件或节。Microsoft提供了一种这样的方法作为标准,您链接到的另一个问题对此进行了详细描述和解释:


特定IIS实例的服务类型列表可在IIS7+的IIS管理器中请求筛选的“文件扩展名”选项卡中找到。

此问题在此处提出并回答: