以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  OpenQQ登录不安全问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192885)

--  作者:lin98
--  发布时间:2024/7/30 11:22:00
--  OpenQQ登录不安全问题

图片点击可在新窗口打开查看此主题相关图片如下:qq安全.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/7/30 11:28:00
--  
不想给别人看,直接隐藏,或者不用这些控件不就行了!!
--  作者:lin98
--  发布时间:2024/7/30 12:44:00
--  
\'网络监视器-OpenQQ服务端-UserLogging有用户申请登录时触发-ACCESS
Dim pts() As String = e.UserName.Split(".")
Dim dr1 As DataRow
dr1 = DataTables("用户").Find("部门 = \'" & pts(0) & "\' And 姓名 = \'" & pts(1) & "\'")
If dr1 Is Nothing  Then \'判断此用户不存在
    e.Message  = "用户名错误!" \'返回给登录者的提示信息
    Return
End If
If dr1("密码") <> e.Password Then \'如果密码错误
    e.Message  = "登录密码错误!" \'返回给登录者的提示信息
    Return
End If
e.Success = True \'允许用户登录
\'添加所有同事为好友
For Each dr2 As DataRow In DataTables("用户").DataRows
    Dim nm As String =  dr2("部门") & "." & dr2("姓名")
    If nm <> e.UserName Then \'如果不是登录者本人
        e.Buddies.Add(nm)
    End If
Next


---------------------客户端-用户登录窗口-登录按键-------------------------------------------------------------------


\'客户端-用户登录窗口-登录按键-单击事件:-ACCSEE
If QQClient.Ready Then
    MessageBox.show("QQClient已经启动,请先关闭","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
QQClient.ServerIP = e.Form.Controls("txtIP").Value  \'指定服务器IP地址
QQClient.ServerPort = e.Form.Controls("txtPort").Value  \'指定服务器端口
QQClient.UserName = e.Form.Controls("cmbDepartment").Value & "." & e.Form.Controls("txtUserName").Value \'指定登录用户名
QQClient.Password = e.Form.Controls("txtPassword").Value
If QQClient.Start() = True \'如果登录成功
    e.Form.Controls("btnChat").Enabled = True
    Dim msg As String =  "恭喜,OpenQQ登录成功!"
    If QQClient.ServerMessage > "" Then \'如果服务器返回了欢迎信息
        msg = msg & QQClient.ServerMessage
    End If
    popMessage(msg,"提示",PopiconEnum.Infomation,5)
Else \'如果登录失败,显示服务器返回错误信息
    e.Form.Controls("btnChat").Enabled = False
    PopMessage("QQClient登录失败,原因:" & vbcrlf & QQClient.ServerMessage,"提示",PopiconEnum.Error,5)
End If

因项目要使用OpenQQ,需要根据实际“IP,端口,心跳间隔,心跳超时”进行动态设置。现将这些改用为表A的字段(“IP,端口,心跳间隔,心跳超时”)


问题:上面代码,如何实现客户端的“IP,端口,心跳间隔,心跳超时”)调用是服务端-表A-已设定的“IP,端口,心跳间隔,心跳超时”)后,
客户端再入“用户名,密码”,均正确,登录系统,否则,强制退出系统 ?













[此贴子已经被作者于2024/7/30 12:44:45编辑过]

--  作者:有点蓝
--  发布时间:2024/7/30 13:30:00
--  
比如表A只有一行

dim r as row = tables("表A").rows(0)
QQClient.ServerIP = r("IP列")
……

--  作者:lin98
--  发布时间:2024/7/30 14:47:00
--  
是替换下面代码?
QQClient.ServerIP = e.Form.Controls("txtIP").Value  \'指定服务器IP地址
QQClient.ServerPort = e.Form.Controls("txtPort").Value  \'指定服务器端口

--  作者:有点蓝
--  发布时间:2024/7/30 15:24:00
--  
哪些不需要给用户看到就替换哪些咯
--  作者:lin98
--  发布时间:2024/7/31 9:55:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qqw11.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/7/31 10:14:00
--  
帮助是添加了一个菜单项的:http://www.foxtable.com/webhelp/topics/3012.htm

如果只会抄代码,不去理解,不会变通,只能不停出错了