C# asp.net web配置安全性
我在考虑asp.net应用程序中web配置文件的安全性,因为web配置文件通常包含到应用程序数据库的连接字符串,因此安全性很重要 在asp.net应用程序中,可以使用以下方法从web配置文件检索连接字符串:C# asp.net web配置安全性,c#,asp.net,C#,Asp.net,我在考虑asp.net应用程序中web配置文件的安全性,因为web配置文件通常包含到应用程序数据库的连接字符串,因此安全性很重要 在asp.net应用程序中,可以使用以下方法从web配置文件检索连接字符串: ConfigurationManager.ConnectionStrings["connectionstring"] 假设某个新用户是连接字符串的密钥,那么他们是否能够以某种方式将该请求发送到服务器并获得响应,或者是否存在某种安全机制来防止这种情况发生 如果他们能够做到这一点,他们如何做到
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管理器中请求筛选的“文件扩展名”选项卡中找到。此问题在此处提出并回答: