读书人

TCP通讯:关于发送用户名密码进行登录

发布时间: 2013-04-02 12:35:26 作者: rapoo

TCP通信:关于发送用户名密码进行登录的理解
客户端和服务端首先是要连接好的,这样才能发送数据包。现在又要客户端发送用户名和密码给服务端进行登录是什么意思啊?我知道登录认证是为了安全,但是登录认证是怎么实现的呢。
[解决办法]
比如要验证客户,最简单的可以这样(Alice-客户端,Bob-服务器端):
1、连接成功
2、A发送5"Login",要求登录,
3、B收到请求后,产生一个随机整数0xAA0000DD,来挑战客户,
4、B回答4AA0000DD,
5、A收到挑战码后,乘于密码,得到结果0xEDBC1234
6、A发送4EDBC1234,
7、B收到后,使用用户密码确认结果,如果错误则断开连接
8、B确认密码后,发送2"OK",
9、由此双方正常通信...
[解决办法]

引用:
引用:比如要验证客户,最简单的可以这样(Alice-客户端,Bob-服务器端):
1、连接成功
2、A发送5"Login",要求登录,
3、B收到请求后,产生一个随机整数0xAA0000DD,来挑战客户,
4、B回答4AA0000DD,
5、A收到挑战码后,乘于密码,得到结果0xEDBC1234
6、A发送4EDBC1234,
7、B收到后,使用用户密码……

没有验证通过就什么也干不了。断开就行了
[解决办法]
首先你是选择了用Socket通信,其实通信可以有多种方式,别的方式可能提供了认证的方法。
你的客户端一旦与通信中间件连接后,首先记录连接状态信息(IP,连接时间),并在获取字节流的同时 实时扫描和检测连接状态表。
1.如果一段间隔时间,该连接状态表中没有用户信息状态,断开连接。
2.通讯协议正确或者不是登录协议,如果没有用户信息状态,断开连接。
3.登录协议中用户名或密码不正确,发送登录失败结果协议,失败记录数+1,判断失败记录是否为3,如果为3则断开连接。
[解决办法]
引用:
首先你是选择了用Socket通信,其实通信可以有多种方式,别的方式可能提供了认证的方法。
你的客户端一旦与通信中间件连接后,首先记录连接状态信息(IP,连接时间),并在获取字节流的同时 实时扫描和检测连接状态表。
1.如果一段间隔时间,该连接状态表中没有用户信息状态,断开连接。
2.通讯协议正确或者不是登录协议,如果没有用户信息状态,断开连接。
3.登录协议中用户……

老详细很有经验了。
[解决办法]
经验之谈经验之谈
[解决办法]
登陆认证不是为了安全,每个用户都能随随便便给服务器发信息,服务器没接收一个连接就会开一个线程去监视,那服务器是要多大功能,服务器总是为客户服务的,客户都算不上,咋指望别人服务

读书人网 >C#

热点推荐