找回密码
 会员注册
查看: 2830|回复: 0

免费空间隐藏数据库连接的用户名密码

[复制链接]

1384

主题

5

回帖

496万

积分

管理员

积分
4962557
发表于 2014-5-10 18:42:09 | 显示全部楼层 |阅读模式
连接字符串保存在web.config里面,别人登录web服务器后就能看到数据库服务器中的数据库的用户名,密码,很不安全.怎样可以隐藏这些用户名,密码? 加密?可以定义在程序里吗,怎样才能让gridview调用他呢?

通过加密保存在XML里。通过XML获取数据。也可加密web.config中连接字符串.

实际上没有必要,因为web.config是在服务器上,如果能看到web.config,那么服务器中的内容他也是完全可以控制的。要是真的想隐藏,可以将连接串加密后再写入web.config文件中,在使用时,先读取解密,然后再按常规性正常逻辑处理.可以使用对称加密,一把密钥进行加解密。

public static string Encrypt(string Password, int Format)
    {
        string str = "";
        switch (Format)
        {
            case 0:
                str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "SHA1");
                break;
            case 1:
                str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "MD5");
                break;
        }
        return str;
    }
这段好像就能达到效果,不知道你要的是不是这个。。。
命名空间应该是using System.Web.Security;

可以定义在程序里,和在web里调用基本相似
但是定义在程序里,不能修改连接串
定义在webconfig里加密是可行的,但不能直接修改,可以启用加密算法修改
但是只考虑连接串防止数据库安全是不行的
在程序代码里,要考虑防止sql注入更是是必不可少的

可以加密你的连接字符串,具体的方法:
新建一个.bat批处理文件在它的里面写
@echo off
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pef "connectionStrings" "D:MyProjectWeb"
PAUSE
注意"D:MyProjectWeb" 你应该改为你的应用程序的位置。
解密语句是:
@echo off
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pdf "connectionStrings" "D:MyProjectWeb"
PAUSE
注意"D:MyProjectWeb" 你应该改为你的应用程序的位置。

当然楼主也可以自己用加解密的算法来实现功能,上面的方法是微软自带的。具体的信息上网搜索一下就可以。

在asp.net2.0中引入了一种保护配置系统中存储的敏感数据的体制。.net framework2.0里面提供两种方案。
DPAPIPortectedConfigurationProvider:使用Windows Data Protection API进行数据加密和解密。
RSAPPortectedConfigurationProvider:默认的加密提供程序,使用RSA机密算法进行数据加密和解密。

使用如下命令加密连接串:
aspnet_regiis.exe -pe connectionStrings -app /proAspNet20

加密后的web.config文件如下:
<configuration>
  <protectedData>
    <protectedDataSections>
      <add name="connectionStrings"
            provider="RSAProtectedConfigurationProvider" />
    </protectedDataSections>
  </protectedData>
  <connectionStrings>
    <EncryptedData ...>
    ...
    <CipherData>
      <CipherValue>{base64 code} </CipherValue>
    </CipherData>
    </EncryptedData>
  <connectionStrings>

还原成明文用-pd开关代替-pe。
周迅男友回应恋情 发7个感谢·震撼!真人秀直播生孩子 揭秘顺产 ·扫黄办查“不雅视频” 林忆莲与男友亲热 ·吴京或将坐轮椅结婚 哈利波特订婚了?·《爸爸2》名单来啦! 拍摄现场木屋曝光 ·杨幂成“最美辣妈” 蔡少芬大夸孙俪女儿 ·撒贝宁称章子怡太强 华仔蹲地吃饭变屌丝 ·梁家辉女儿拍性感照 “雪姨”性感惹火 ·这些明星是你捧红的 马伊琍离不开手机·李小璐与女儿长得像 漂亮妈妈是中俄混血

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 |网站地图

GMT+8, 2024-4-19 16:07 , Processed in 0.282458 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表