在 ASP.NET C# Web.config 中保护敏感信息

Securing Sensitive Information in ASP.NET C# Web.config

我当前的 web.config 在我的开发环境中打开了 validationKeydecrytionKey 等信息以供查看。

我想隐藏敏感信息

更改任何这些设置是否可以防止它暴露?

这些是我当前的设置:

我了解到您想加密 Web 配置文件并隐藏敏感信息。

ASP.NET 2.0 中有一项新的安全功能。 Web.config 文件中的任何配置部分都可以加密。这可以通过手动 运行 工具 aspnet_regiis 或编程来完成。如果您可以直接访问您的 Web 服务器,则可以通过 运行 以下命令行执行此操作:

cd  %windows%\Microsoft.NET\Framework\versionNumber  

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" –prov RsaProtectedConfigurationProvider 

-pd section 

解密配置部分。此参数采用以下可选参数:

· -app virtualPath 指定要在include路径的层次解密

· -location subPath 指定要解密的子目录。

· -pkm 指定应解密 Machine.config 而不是 Web.config 文件。

-pdf 部分 webApplicationDirectory 解密指定物理(非虚拟)目录中 Web.config 文件的指定配置部分。

-体育课 加密指定的配置部分。此参数采用以下可选修饰符:

• -prov provider 指定要使用的加密提供程序。

· -app virtualPath 指定应在包含路径级别进行加密。

· -location subPath 指定要加密的子目录。

· -pkm 指定应加密 Machine.config 而不是 Web.config 文件。

-pef 部分 webApplicationDirectory 加密指定物理(非虚拟)目录中 Web.config 文件的指定配置部分。

如果您使用的是无法访问物理服务器的虚拟主机等,您仍然可以通过编程方式加密连接字符串。

Configuration config =Configuration.GetWebConfiguration(Request.ApplicationPath); 
ConfigurationSection section =config.Sections["connectionStrings"]; 
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");; 
config.Update (); 

使用受保护配置加密连接字符串值的配置文件现在不会以明文形式显示连接字符串,而是以加密形式存储它们,如下例所示:

你可以参考我要找的相关文件。 Protecting Connection Strings and Other Configuration Information (C#)

希望对您有所帮助!