我们开发了一个编辑web.config设置的应用程序。用户必须找到他们想要编辑的web.config文件。完成任务后,他们可以下载web.config文件及其所做的更改。由于web.config文件具有数据库服务器信息和密码,因此我担心会导致任何安全问题。 如果是这样,我怎么能纠正它?
答案 0 :(得分:1)
更好地加密你的连接字符串......
对于参考MSDN article
您可以使用以下方法来保护webconfig。
如果在web.config中存在以下代码。
<connectionStrings>
<add name="yjsDBConnectionString" connectionString="Data Source=HUAJLI-XP\SUN;Initial Catalog=yjsDB;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
然后我们可以使用以下代码来保护它。
protected void Encryption()
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.ConnectionStrings;
if (!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Modified);
}
}
您可以使用以下代码对其进行解密。
protected void Decrypting()
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.ConnectionStrings;
if (section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Modified);
}
}