Foxtable(狐表)用户栏目专家坐堂 → SQL 动态连接字符串 动态用户名 直接操控SQL


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

主题:SQL 动态连接字符串 动态用户名 直接操控SQL

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


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
SQL 动态连接字符串 动态用户名 直接操控SQL  发帖心情 Post By:2014/4/26 19:33:00 [只看该作者]

狐表涉及的到内容之深 真的难以想象。
我一直在为直接连接数据库,可能不安全,一直再找,具有可以变动的连接字符串解决方案,今天终于有了苗头,特地拿出来与大家讨论一下,希望有关高手能提供更强大的一些SQL语句

Dim cmd As New SQLCommand
Dim Count As String
cmd.C
'cmd.CommandText = "create login TestUser1 With password='1232'" '创建用户名称
'cmd.CommandText = "use [csf] GRANT INSERT,ALTER,UPDATE ON [dbo].[Tables1] TO [test1]" '设置权限
'cmd.CommandText = "alter login TestUser1 With password='1234' old_password='1232'" '修改用户密码
'cmd.CommandText = "alter login TestUser1 with name = test1 go alter login test1 disable" '修改用户名
'cmd.CommandText = "drop login test1" '删除登录名
'cmd.CommandText = "USE [csf] CREATE USER [test1] FOR LOGIN [test1]"  '用户映射数据库
Count= cmd.ExecuteScalar()
Messagebox.Show( "总共" & Count & "行!")

以上的案例如果结合socket,个人觉的在安全性上又会有很高的进步。
个人觉得 这个连接方式可以有效的预防 连接字符串 或者帐号被盗用的可能性
结合上述,提供动态的连接字符串。安全性我想应该就没有问题了。
相关的高手评价一下这种方式可可用性?
[此贴子已经被作者于2014-4-27 14:17:58编辑过]

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2014/4/27 14:21:00 [只看该作者]

自己顶一个

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


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

 不错,顶一顶,但是,你需要这样做:你需要把用户名发送到服务器那里,服务器去创建用户,然后返回用户名和密码,客户端用这个用户名和密码登陆。

 

 也就是你需要有一个中间人


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


加好友 发短信
等级:小狐 帖子:372 积分:3213 威望:0 精华:0 注册:2013/5/6 10:15:00
  发帖心情 Post By:2014/4/27 15:10:00 [只看该作者]

我感觉不太好,首先你要字符串链接上SQL服务,你已经链接上了,又要创建用户,这个多此一举!

频繁的去数据库创建用户,再赋予角色,最后再删除,这个安全性更差,感觉有很多弊病·····

 

个人看法~~·


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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/4/27 16:43:00 [只看该作者]

俺觉得没有必要,你这样做的话,就必须要一个具有相对权限的用户, 如果这个用户存储在项目中,风险更高。

 

如果用你说的结合socket ,就必须要做一个服务端。

 

至于解决盗号的问题,看看qq就知道。

 

 

如果楼主特别在意数据库的安全,建议楼主结合域管理、用windows登陆数据库 、降低项目中用户权限等角度出发去考虑。

 

   


 回到顶部