Foxtable(狐表)用户栏目专家坐堂 → 数据库连接不成功暴露出SQL账户和密码


  共有1564人关注过本帖树形打印复制链接

主题:数据库连接不成功暴露出SQL账户和密码

帅哥哟,离线,有人找我吗?
wangmin2659
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:109 积分:931 威望:0 精华:0 注册:2013/5/18 15:37:00
数据库连接不成功暴露出SQL账户和密码  发帖心情 Post By:2017/12/14 12:00:00 [只看该作者]


此主题相关图片如下:uc截图20171214113316.png
按此在新窗口浏览图片

数据库连接不成功的话,就会爆出这样提示,对于用户,这样的提示是非常不安全的

请问高级版发布程序后,也会弹出这样的提示吗?

还是需要在程序加载的时候,判断数据库连接是否成功?

我在项目属性 BeforeConnectOuterDataSource 中添加以下代码



Dim s As String = "Provider=SQLOLEDB.1;Password=AA123456;Persist Security Info=True;User ID=sa;Initial Catalog=UFSystem;Data Source=WMERP"
If Connections.TryConnect(s) = False Then
MessageBox.Show("数据源无法连通!请检查数据库或者网络,再打开本程序")
Syscmd.Project.Exit()   '请问这里是否使用正确?
Else
Connections.Add("test",s) 
End If



我通过
Return Connections.Contains("test")
时发现,"test"这个数据源是不存在的,是哪里有错误吗?
[此贴子已经被作者于2017/12/14 12:00:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/14 12:25:00 [只看该作者]

BeforeConnectOuterDataSource 的代码不是这样写的,你要这样写

 

Dim s As String = "Provider=SQLOLEDB.1;Password=AA123456;Persist Security Info=True;User ID=sa;Initial Catalog=UFSystem;Data Source=WMERP"
If Connections.TryConnect(s) = False Then
    MessageBox.Show("数据源无法连通!请检查数据库或者网络,再打开本程序")
    Syscmd.Project.Exit()  
Else

    e.ConnectionString = s

End If
 
再有就是,发布后的项目,只有开发者、管理员可以设置数据源,其它用户看不到数据源提示的。

 回到顶部