App.Config 问题

allen0118 2012-05-18 10:43:29
一般来说大家是如何去配置程序里面连接数据库的信息的?写入App.Config吗,我发现有些问题:

1.这个文件本身就存在本地,容易给别人找出来,那么安全性太低了。

2.用户自己可以去配置数据库连接,那么就要涉及到去操作这个App.config文件,但是我发现每次都保存不到项目里面的那个文件,举个例子:在项目里面添加了一个应用程序配置文件(App.Config),

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="MyConnectionStrings" value="server=IT001\SQL2008;database=ToolDB;uid=sa;pwd=abc123456"/>
</appSettings>
</configuration>


用户在界面上是允许来修改这个连接字符串的,但是我发现每次保存之后在根目录里面生成了另一个配置文件,程序名称.exe.config,
但是程序登录的时候还是读取的项目里面的那个文件:

string strCon = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionStrings"];


那么这样看来用户自行修改的数据岂不是一直都用不到?
...全文
141 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ONE-PIECE 2012-06-01
  • 打赏
  • 举报
回复
加密时有个标识 只有你自己知道,解密时必须要用这个标识才可以解开。。。

[Quote=引用 10 楼 的回复:]
引用 9 楼 的回复:
可以用MD5加密啊 除了自己暂时还没人可以破解。。。。。。。。。。


加密之后呢?需要使用的时候如何解密?
[/Quote]
allen0118 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
连接数据库是放在这个节点下:

C# code

<connectionStrings>
<add connectionString="Data Source=192.128.0.1;Initial Catalog=maopian;uid=sa;pwd=111" name="connString" providerName="System.Data.SqlClient"/>
……
[/Quote]

这个没关系,只要能拿到那个字符串就行了。
fuermoshia 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
连接数据库是放在这个节点下:

C# code


<connectionStrings>
<add connectionString="Data Source=192.128.0.1;Initial Catalog=maopian;uid=sa;pwd=111" name="connString" providerName="System.Data.SqlClient"/>
……
[/Quote]

+1
allen0118 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
连接数据库是放在这个节点下:

C# code

<connectionStrings>
<add connectionString="Data Source=192.128.0.1;Initial Catalog=maopian;uid=sa;pwd=111" name="connString" providerName="System.Data.SqlClient"/>
……
[/Quote]

这个没关系,只要能取到那个值就可以了。
cheng2005 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
能连接数据库的地方肯定不是谁想接触就能接触的到的。

如果你非要客户端直连数据那当我没说。


这只是一个小程序,公司内部使用的,所以就做成了直接连数据库的方式,那我请教一下,如果做一些单机版的应用程序,直接连接数据库不可以吗?如果不可以应该采用哪一种方式呢?
[/Quote]
想直连就把连接字符串加密
xb12369 2012-05-18
  • 打赏
  • 举报
回复
连接数据库是放在这个节点下:

<connectionStrings>
<add connectionString="Data Source=192.128.0.1;Initial Catalog=maopian;uid=sa;pwd=111" name="connString" providerName="System.Data.SqlClient"/>
</connectionStrings>


取到这个节点的时候:

using System.Configuration;
string connString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString.ToString();
allen0118 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
能连接数据库的地方肯定不是谁想接触就能接触的到的。

如果你非要客户端直连数据那当我没说。
[/Quote]

这只是一个小程序,公司内部使用的,所以就做成了直接连数据库的方式,那我请教一下,如果做一些单机版的应用程序,直接连接数据库不可以吗?如果不可以应该采用哪一种方式呢?
cheng2005 2012-05-18
  • 打赏
  • 举报
回复
能连接数据库的地方肯定不是谁想接触就能接触的到的。

如果你非要客户端直连数据那当我没说。
allen0118 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
可以用MD5加密啊 除了自己暂时还没人可以破解。。。。。。。。。。
[/Quote]

加密之后呢?需要使用的时候如何解密?
ONE-PIECE 2012-05-18
  • 打赏
  • 举报
回复
可以用MD5加密啊 除了自己暂时还没人可以破解。。。。。。。。。。
花痴 2012-05-18
  • 打赏
  • 举报
回复
加密连接字符串,然后保存到文件中

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧