如何对web.config进行加密和解密

如何对web.config进行加密和解密,第1张

你好,可以使用受保护配置来加密 Web 应用程序配置文件(如 Web.config 文件)中的敏感信息(包括用户名和密码、数据猛颂库连接字符串和加密密钥)。对配置信息进行加密后,即使攻击者获取了对配置文件的访问,也可以使攻击者难以获取对敏感信息的访问,从而改进应用程序的安全性。 针对asp.net 2.0的应用程序的数据库链接字符串进行加密:例如,未加密的配置文件中可能包含一个指定用于连接到数据库的连接字符串的节,如下面的示例所示: <configuration><connectionStrings>

<add name="SampleSqlServer" connectionString="Data Source=localhostIntegrated Security=SSPIInitial Catalog=Northwind" />

</connectionStrings>

</configuration>

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 指定应该在包含路径的级别进行解密。 · -location subPath 指定要解密的子目录。 · -pkm 指定应该对 Machine.config 而非 Web.config 文件进行解密。

-pdf section webApplicationDirectory

对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行解密。

-pe section

对指定的配置节进行加密。此参数采用下面的可选修饰符: · -prov provider 指定要使用的加密提供程序。 · -app virtualPath 指定应该在包含路径的级别进谈郑行加密。 · -location subPath 指定要加密的子目录。 · -pkm 指定应该对 Machine.config 而非 Web.config 文件进行加密。

-pef section webApplicationDirectory

对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行加密。

如果你是使用虚拟主机等不能访问物理的服务器,你仍然能够通过编程方式加密的连接字符串: 1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath)

2 ConfigurationSection section = config.Sections["connectionStrings"]

3 section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider")

4 config.Update ()或者 config.Save()

//加密web.Config中的指定节

private void ProtectSection(string sectionName)

{

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath)

ConfigurationSection section = config.GetSection(sectionName)

if (section != null &&!section.SectionInformation.IsProtected)

{

section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider")

config.Save()

}

}

//解密web.Config中的指定节

private void UnProtectSection(string sectionName)

{

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath)

ConfigurationSection section = config.GetSection(sectionName)

if (section != null &&section.SectionInformation.IsProtected)

{

section.SectionInformation.UnprotectSection()

config.Save()

}

}

WEB.CONFIG 文件不需要加密,对客户端访问本身就有安全限制,不可以型悉下载不可以访问。如果想防止服务器端看到,还是卜和乎少往里面写系统设置信息,用棚猜数据库存储加密后的系统设置信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12288349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存