当前位置:编程学习 > C#/ASP.NET >>

用什么方法可以把web.config的数据库连接保护好?

<appSettings>
<add key="DateConn" value="Data Source=WWW-ABDE99F75DF;Initial Catalog=Table;User ID=sa;Password=123"/>
</appSettings>


上面就是我们的Web.config数据连接地址,用什么方法保护好呢? --------------------编程问答-------------------- 感觉将数据库连接字符串放在Web.congif中已经够安全了。。。

如果觉得还不安全,可以把数据库连接字符串进行转换加密。 --------------------编程问答-------------------- 局域网无安全可言。你把数据库服务器放在 WWW-ABDE99F75DF,想偷你的链接串的话简单地用一个网管程序监听1分钟就搞定了。

那些只开发局域网程序的人,无安全概念可言。反正互联网用户访问不到数据库服务器(因为有防火墙),也就容忍局域网里的这种混乱状态了。 --------------------编程问答-------------------- 公网上采取的方法是数据库加密

如果局域网里也要避免的话也可以采取这种方式吧 --------------------编程问答-------------------- Pet Shop 中的,自己看吧,两个bat文件,调用.net Framework加密,自己改改就OK了

EncryptWebConfig.bat
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "C:\Program Files\Microsoft\.NET Pet Shop 4.0\Web"
PAUSE

//DecryptWebConfig.bat
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "C:\Program Files\Microsoft\.NET Pet Shop 4.0\Web"
PAUSE
--------------------编程问答-------------------- 骗骗人还是可以的 --------------------编程问答-------------------- 加个密,起码看不到明文~ --------------------编程问答-------------------- 害怕那就加密吧.

但问题是你的密钥放在什么地方? 如果你的web.config中的连接字符串加密了,但你把密钥放在web.config中或者代码中,那就成了笑话了.

解决办法就是再把密钥通过windows的DPAPI来进行保护,它是通过每次安装windows 2003/2008这些OS时生成的机器密钥来对你的密钥进行保护.
具体要使用system.security.cryptography.ProtectedData类
--------------------编程问答-------------------- 可解密的加密办法就行吧
--------------------编程问答-------------------- 害怕那就加密吧. 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,