一种用于检测用户身份信息的方法、服务器及计算机设备与流程

文档序号:14993332发布日期:2018-07-20 22:57阅读:170来源:国知局

本发明属于直播技术领域,尤其涉及一种用于检测用户身份信息的方法、服务器及计算机设备。



背景技术:

目前随着直播平台发展的日益成熟,有很多用户选择成为主播,并通过非正常手段来增加人气。

比如利用黑客通过监听正常用户向服务端发起的请求来盗取用于身份验证的cookie,然后使用此cookie伪装成该用户向服务器发送其他请求,从而将某主播加入到该用户的收藏列表,进而提高该主播的收藏指数,提高该主播的人气,影响了直播平台的秩序。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供了一种用于检测用户信息的方法、服务器及计算机设备,用于解决现有技术中黑客通过盗取正常用户的身份信息cookie,从而伪装成正常用户向服务器发送一些非正常请求,服务器无法对用户身份信息进行检测,导致直播平台秩序受到影响的技术问题。

本发明实施例提供一种用于检测用户身份信息的方法,应用于直播平台中,所述方法包括:

接收客户端发送的请求信息,所述请求信息中带有所述客户端的当前身份信息;

读取所述当前身份信息中的第一特征码及所述客户端的目标时间戳;所述目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,所述第一时间差值为服务器端时间戳及客户端时间戳之间的时间差值;

获取读取时刻对应的服务器端的第一时间戳,判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息;所述第二时间差值根据所述第一时间戳及所述目标时间戳确定;

根据所述密钥信息及所述目标时间戳生成第二特征码;

判断所述第二特征码与所述第一特征码是否一致,若一致,则确定用户为正常用户。

上述方案中,所述判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息,包括:

判断第二时间差值是否满足检测条件|p|≤d,若满足,则获取所述密钥信息;所述d为预设的时间阈值,所述p为所述第二时间差值。

上述方案中,基于预设的时间间隔,根据所述密钥信息及所述目标时间戳生成第二特征码,包括:

根据公式s2=f(key,t)确定所述第二特征码s2;其中,所述f为可逆加密算法或者单向哈希算法,所述t为所述目标时间戳,所述key为所述密钥信息。

上述方案中,若所述第二时间差值不满足预设的所述检测条件,则拒绝所述请求信息。

本发明还提供一种服务器,所述服务器包括:

接收单元,用于接收客户端发送的请求信息,所述请求信息中带有所述客户端的当前身份信息;

获取单元,用于读取所述当前身份信息中的第一特征码及所述客户端的目标时间戳;所述目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,所述第一时间差值为服务器端时间戳及客户端时间戳之间的时间差值;

第一判断单元,用于获取读取时刻对应的服务器端的第一时间戳,判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息;所述第二时间差值根据所述第一时间戳及所述目标时间戳确定;

生成单元,用于根据所述密钥信息及所述目标时间戳生成第二特征码;

第二判断单元,用于判断所述第二特征码与所述第一特征码是否一致,若一致,则确定用户为正常用户。

上述方案中,所述第二获取单元具体用于:

判断第二时间差值是否满足检测条件|p|≤d,若满足,则获取所述密钥信息;所述d为预设的时间阈值,所述p为所述第二时间差值。

上述方案中,所述生成单元具体用于:

根据公式s2=f(key,t)确定所述第二特征码s2;其中,所述f为可逆加密算法或者单向哈希算法,所述t为所述目标时间戳,所述key为所述密钥信息。

上述方案中,所述第一判断单元具体用于:

若判断所述第二时间差值不满足预设的所述检测条件时,则拒绝所述请求信息。

本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现能够执行如上述任一所述的方法。

本发明提供一种用于检测用户身份信息的计算机设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中,

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一所述的方法。

本发明提供了一种用于检测用户身份信息的方法、服务器及计算机设备,方法包括:接收客户端发送的请求信息,请求信息中带有所述客户端的当前身份信息;读取当前身份信息中的第一特征码及客户端的目标时间戳;目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,第一时间差值为服务器端时间戳及客户端时间戳之间的时间差值;获取读取时刻对应的服务器端的第一时间戳,判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息;第二时间差值根据所述第一时间戳及所述目标时间戳确定;根据密钥信息及所述目标时间戳生成第二特征码;判断第二特征码与第一特征码是否一致,若一致,则确定用户为正常用户;如此,当服务器接收到客户端发送的请求信息后,会对用户身份信息中的特征码进行解密,获取客户端的目标时间戳,再根据目标时间戳与密钥信息计算出第二特征码,当第二特征码与第一特征码一致时,则确定用户为正常用户,当第二特征码与第一特征码不一致时,满则确定用户为非正常用户;这样就能精确地识别出非正常用户,从而拒绝非正常用户的请求,确保直播平台的直播秩序。

附图说明

图1为本发明实施例一提供的用于检测用户身份信息的方法流程示意图;

图2为本发明实施例二提供的服务器的整体结构示意图;

图3为本发明实施例三提供的用于检测用户身份信息的计算机设备整体结构示意图。

具体实施方式

为了解决现有技术中黑客通过盗取正常用户的身份信息cookie,从而伪装成正常用户向服务器发送一些非正常请求,服务器无法对用户身份信息进行检测,导致直播平台秩序受到影响的技术问题,本发明提供了一种用于检测用户身份信息的方法、服务器及计算机设备,所述方法应用于直播平台中,所述方法包括:本发明提供了一种用于检测用户身份信息的方法、服务器及计算机设备,方法包括:接收客户端发送的请求信息,请求信息中带有所述客户端的当前身份信息;读取当前身份信息中的第一特征码及客户端的目标时间戳;目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,第一时间差值为服务器端时间戳及客户端时间戳之间的时间差值;获取读取时刻对应的服务器端的第一时间戳,判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息;第二时间差值根据所述第一时间戳及所述目标时间戳确定;根据密钥信息及所述目标时间戳生成第二特征码;判断第二特征码与第一特征码是否一致,若一致,则确定用户为正常用户。

下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。

实施例一

本实施例提供一种用于检测用户身份信息的方法,所述方法应用于直播平台中,如图1所示,所述方法包括:

s110,接收客户端发送的请求信息,所述请求信息中带有所述客户端的当前身份信息;

本步骤中,当客户端需要向服务器请求执行相应的触发动作时,就会向服务器发送请求信息,所述请求信息中携带有客户端的当前身份信息,当前身份信息包括:客户端登陆成功后,服务器向客户端下发的第一身份信息cookie及客户端生成的第一特征码。那么相应地,服务器就接收客户端发送的请求信息。

这里,客户端生成第一特征码的具体实现如下:

当用户登录直播平台成功后,服务器会将密钥信息发送至客户端,并将发送时刻对应的服务器端时间戳及该用户的第一身份信息cookie发送至客户端。这里,每个用户都具有一个唯一的密钥信息及一个唯一的cookie。

当接收到发送时刻对应的服务器端时间戳后,若在某一时刻下服务器端时间戳与客户端时间戳出现不一致的情况,那么为了避免用户的正常请求被拦截,需要考虑到服务器端时间戳与客户端时间戳之间的差值。

当客户端接收到发送时刻对应的服务器端时间戳后,还需获取所述发送时刻对应的客户端时间戳,确定所述客户端时间戳与所述服务器端时间戳的第一时间差值。

比如在发送时刻(也可以为任意时刻)下,服务器端时间戳是12:38:12,客户端时间戳是12:38:09,客户端的本地时间要比服务器端的时间慢3s,那么客户端时间戳与服务器端时间戳之间的第一时间差值就是3s。

这里,当需要生成新的用户身份信息时,客户端需要获取生成时刻对应的当前时间戳,比如15:01:23这个时刻需要生成用户身份信息时,当前时间戳即为15:01:23。

获取到生成用户身份信息时刻对应的当前时间戳后,基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成第一特征码。

具体地,首先根据所述当前时间戳及所述第一时间差值确定目标时间戳t;当服务器端时间戳大于客户端时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;当所述服务器端时间戳小于所述客户端时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。

比如当前时间戳是15:01:23,第一时间差值是3s,当服务器端时间戳大于所述客户端时间戳时,那么目标时间戳t就为15:01:26;而当服务器端时间戳小于所述客户端时间戳时,那么目标时间戳t就为15:01:20。

然后按照预设的时间间隔,根据公式(1)确定所述第一特征码s1,所述预设的时间间隔可根据实际场景的需求确定,比如2s:

s1=f(key,t)(1)

在公式(1)中,所述t为目标时间戳;所述key为用户登陆成功后,服务器向客户端发送的密钥信息,每个用户都具有唯一的密钥信息;所述f为可逆哈希算法或者单向哈希算法;所述单向哈希算法可以包括:md5、sha-256、crc32算法等;所述可逆加密算法包括:对称加密算法及非对称加密算法,比如rsa、dsa等加密算法。

具体地,比如目标时间戳是1516070451,密钥信息是aiugpiagwpiuahsdpfiuhasdfasdhf,利用md5算法确定特征码时,实现如下:

利用s1=md5(1516070451aiugpiagwpiuahsdpfiuhasdfasdhf)得到特征码5223e9b30065d3346de87daeaeeaea5f。

同样地,比如目标时间戳是1516070451,若利用非对称加密算法rsa获取特征码s1时,实现如下:

客户端在登录成功后,服务器会利用rsa加密算法为该用户生成一对公钥和私钥,将公钥下发至客户端,私钥则由服务器保存。客户端接收到公钥后,利用rsa加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。

另外,比如目标时间戳是1516070451,若利用对称加密算法dsa获取特征码s时,实现如下:

客户端在登录成功后,服务器会利用对称加密算法dsa为该用户生成一个密钥信息,将该密钥信息下发至客户端。客户端接收到该密钥信息后,利用dsa加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。

生成特征码后,客户端向服务器发送请求时,客户端的js页面会将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息,并将当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。

s111,读取所述当前身份信息中的第一特征码及所述客户端的目标时间戳;

本步骤中,服务器接收到当前身份信息后,读取所述当前身份信息中的第一特征码及所述客户端的目标时间戳;所述目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,所述第一时间差值为任意时刻下,服务器端时间戳及客户端时间戳之间的时间差值。

这里,因客户端会基于预设的时间间隔计算第一特征码,那么服务器读取到的第一特征码s1就是向客户端向服务器发送之前最后一次计算出的第一特征码。

s112,获取读取时刻的服务器端时间戳,判断第二时间差值是否满足预设的生成条件,若满足,则获取密钥信息;

本步骤中,若客户端是利用单向哈希算法计算出的第一特征码时,客户端在向服务器发送请求时,会将目标时间戳t一并发送至服务器。服务器需要利用公式(2)根据第一时间戳t'与所述客户端的目标时间戳确定第二时间差值p,所述第一时间戳是服务器读取当前身份信息时刻对应的时间戳:

p=t'–t(2)

判断第二时间差值p是否满足检测条件|p|≤d,若满足则获取密钥信息key;若不满足则直接拒绝该用户发送的请求;所述d为预设的时间阈值,一般为5~30s不等,可以根据实际的应用场景设定。

在获取密钥信息时,服务器获取cookie中的身份认证标识;基于身份认证标识查找为该用户下发的密钥信息key。

而当客户端是可逆加密算法计算出的第一特征码时,那么相应的,服务器会利用可逆解密算法对根据所述第一特征码进行解析,获取所述客户端的目标时间戳;

具体地,当服务器接收到客户端的当前身份信息时,根据特征码提取标识从当前身份信息中提取第一特征码。提取到第一特征码后,利用可逆解密算法对所述第一特征码进行解析,获取目标时间戳,具体如下:

首先需要获取密钥信息,当客户端使用的加密算法是rsa加密算法时,服务器获取所述当前身份信息中的身份认证标识;基于cookie中所述身份认证标识查找为该用户分配的密钥信息key;这里,因rsa加密算法是非对称加密算法,因此服务器是为该用户分配的是公钥信息,再查找到公钥信息对应的私钥信息,所述密钥信息key即为私钥信息。

然后利用对应的解密算法公式(3)对特征码进行解密,获取客户端的目标时间戳t:

t=f'(key,s1)(3)

公式(3)中,所述s1为所述第一特征码,f'是与rsa加密算法对应的可逆解密算法。

同样的,若客户端是利用可逆加密算法dsa加密算法计算出的第一特征码时,服务器会利用上述同样的方式解密第一特征码,获取目标时间戳。与rsa加密算法对应的解密算法不同的是,服务器是利用dsa加密算法对应的解密算法基于所述当前身份信息cookie中的身份认证标识查找为该用户分配的密钥信息key的,且该密钥信息是服务器与客户端共用的。

s113,根据所述密钥信息及所述目标时间戳生成第二特征码;

获取到密钥信息及目标时间戳后,根据所述密钥信息及所述目标时间戳生成第二特征码;

在生成第二特征码时,服务器可以直接根据公式(4)生成第二特征码s2。

s2=f(key,t)(4)

其中,s2为第二特征码,所述f为单向哈希算法,所述t为所述目标时间戳,所述key为所述密钥信息。

服务器生成第二特征码的方法与客户端生成第一特征码的方法完全相同,在此不再赘述。

s114,根据所述第一特征码及所述第二特征码对用户身份信息进行检测。

当服务器生成第二特征码后,判断所述第二特征码与所述第一特征码是否一致,若一致,则确定用户为正常用户。若不一致,则确定用户为非正常用户。

另外,当确定出第二时间差值p后,还可以基于所述第二时间差值及预设的检测条件对用户身份信息进行检测。

具体地,当所述第二时间差值满足检测条件|p|≤d,则确定该用户为正常用户;当所述第二时间差值满足检测条件|p|>d,则确定该用户为非正常用户;所述d为预设的时间阈值,一般为5~30s不等,可以根据实际的应用场景设定。

这样就可以对用户的身份信息进行检测,若确定用户为非正常用户,则直接拒绝该用户发送的请求,确保直播平台的秩序。

进一步地,本实施例特征码的有效期t由目标时间戳t的时间密度k和时间阈值d来确定,具体可以根据公式(5)确定:

t=2*d/k(5)

比如,预设的时间间隔为2s,即客户端每隔2s计算一次特征码,那么t的时间密度k就为0.5,若时间阈值d设置为3s的话,那么特征码的有效期t最大为2*5/0.5=12秒。也就是说,特征码在12s内是有效的,即黑客窃取到特征码后,在12s内发送请求的话有可能是被接受的,但是在12s之后发送的请求则必然是被拒绝的。

另外,若特征码是在第1s计算出的,请求是第3秒时发出去的,那么这个请求带上的特征码实际上已经过了2秒了。服务端检查后确定第二差值是2秒,小于3,所以接受请求。但黑客窃取了这个特征码后,只能在第1秒使用。

而如果特征码在第1s计算出来后立即就有一个请求带着它发送出去,黑客窃取这个请求的特征码后,就可以在接下来3秒里使用它。

而在一般情况下,客户端的时间戳与服务器端时间戳相差无几,所以p值总是在0附近。于是黑客所盗取到cookie后,特征码的有效期将只有上述情况的一半,即t=d/k。

实施例二

相应于实施例一,本实施例提供一种服务器,如图2所示,所述服务器包括:接收单元21、获取单元22、第一判断单元23、生成单元24及第二判断单元25;其中,

接收单元21用于接收客户端发送的请求信息,所述请求信息中带有所述客户端的当前身份信息。

具体地,当客户端需要向服务器请求执行相应的触发动作时,就会向服务器发送请求信息,所述请求信息中携带有客户端的当前身份信息,当前身份信息包括:客户端登陆成功后,服务器向客户端下发的第一身份信息cookie及客户端生成的第一特征码。那么相应地,接收单元21用于接收客户端发送的请求信息。

这里,客户端生成第一特征码的具体实现如下:

当用户登录直播平台成功后,服务器会将密钥信息发送至客户端,并将发送时刻对应的服务器端时间戳及该用户的第一身份信息cookie发送至客户端。这里,每个用户都具有一个唯一的密钥信息及一个唯一的cookie。

当接收到发送时刻对应的服务器端时间戳后,若在某一时刻下服务器端时间戳与客户端时间戳出现不一致的情况,那么为了避免用户的正常请求被拦截,需要考虑到服务器端时间戳与客户端时间戳之间的差值。

当客户端接收到发送时刻对应的服务器端时间戳后,还需获取所述发送时刻对应的客户端时间戳,确定所述客户端时间戳与所述服务器端时间戳的第一时间差值。

比如在发送时刻(也可以为任意时刻)下,服务器端时间戳是12:38:12,客户端时间戳是12:38:09,客户端的本地时间要比服务器端的时间慢3s,那么客户端时间戳与服务器端时间戳之间的第一时间差值就是3s。

这里,当需要生成新的用户身份信息时,客户端需要获取生成时刻对应的当前时间戳,比如15:01:23这个时刻需要生成用户身份信息时,当前时间戳即为15:01:23。

获取到生成用户身份信息时刻对应的当前时间戳后,基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成第一特征码。

具体地,首先根据所述当前时间戳及所述第一时间差值确定目标时间戳t;当服务器端时间戳大于客户端时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;当所述服务器端时间戳小于所述客户端时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。

比如当前时间戳是15:01:23,第一时间差值是3s,当服务器端时间戳大于所述客户端时间戳时,那么目标时间戳t就为15:01:26;而当服务器端时间戳小于所述客户端时间戳时,那么目标时间戳t就为15:01:20。

然后按照预设的时间间隔,根据公式(1)确定所述特征码s,所述预设的时间间隔可根据实际场景的需求确定,比如2s,那么第一特征码s1就是向发送之前最后一次计算出的特征码:

s1=f(key,t)(1)

在公式(1)中,所述t为目标时间戳;所述key为用户登陆成功后,服务器向客户端发送的密钥信息,每个用户都具有唯一的密钥信息;所述f为可逆哈希算法或者单向哈希算法;所述单向哈希算法可以包括:md5、sha-256、crc32算法等;所述可逆加密算法包括:对称加密算法及非对称加密算法,比如rsa、dsa等加密算法。

具体地,比如目标时间戳是1516070451,密钥信息是aiugpiagwpiuahsdpfiuhasdfasdhf,利用md5算法确定特征码时,实现如下:

利用s1=md5(1516070451aiugpiagwpiuahsdpfiuhasdfasdhf)得到特征码5223e9b30065d3346de87daeaeeaea5f。

同样地,比如目标时间戳是1516070451,若利用非对称加密算法rsa获取特征码s时,实现如下:

客户端在登录成功后,服务器会利用rsa加密算法为该用户生成一对公钥和私钥,将公钥下发至客户端,私钥则由服务器保存。客户端接收到公钥后,利用rsa加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。

另外,比如目标时间戳是1516070451,若利用对称加密算法dsa获取特征码s时,实现如下:

客户端在登录成功后,服务器会利用对称加密算法dsa为该用户生成一个密钥信息,将该密钥信息下发至客户端。客户端接收到该密钥信息后,利用dsa加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。

生成特征码后,客户端向服务器发送请求时,客户端的js页面会将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息,并将当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。

当接收单元21接收到当前身份信息后,获取单元22用于读取所述当前身份信息中的第一特征码及所述客户端的目标时间戳。所述目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,所述第一时间差值为任意时刻下,服务器端时间戳及客户端时间戳之间的时间差值。

这里,因客户端会基于预设的时间间隔计算第一特征码,那么获取单元22读取到的第一特征码s1就是向客户端向服务器发送之前最后一次计算出的第一特征码。

当获取到第一特征码及所述客户端的目标时间戳后,第一判断单元23用于获取读取时刻的服务器端时间戳,判断第二时间差值是否满足预设的生成条件,若满足,则获取密钥信息。

若客户端是利用单向哈希算法计算出的第一特征码时,客户端在向服务器发送请求时,会将目标时间戳t一并发送至服务器。服务器需要利用公式(2)根据第一时间戳t'与所述客户端的目标时间戳确定第二时间差值p,所述第一时间戳是服务器读取当前身份信息时刻对应的时间戳:

p=t'–t(2)

第一判断单元23判断第二时间差值p是否满足检测条件|p|≤d,若满足则获取密钥信息key;若不满足则直接拒绝该用户发送的请求;所述d为预设的时间阈值,一般为5~30s不等,可以根据实际的应用场景设定。

在第一判断单元23在获取密钥信息时,是通过获取cookie中的身份认证标识;基于身份认证标识查找为该用户下发的密钥信息key。

而当客户端是可逆加密算法计算出的第一特征码时,那么相应的,第一判断单元23会利用可逆解密算法对根据所述第一特征码进行解析,获取所述客户端的目标时间戳;

具体地,当服务器接收到客户端的当前身份信息时,第一判断单元23根据特征码提取标识从当前身份信息中提取第一特征码。提取到第一特征码后,利用可逆解密算法对所述第一特征码进行解析,获取目标时间戳,具体如下:

首先需要获取密钥信息,当客户端使用的加密算法是rsa加密算法时,第一判断单元23同样需要获取cookie中的身份认证标识;基于cookie中所述身份认证标识查找为该用户分配的密钥信息key;这里,因rsa加密算法是非对称加密算法,因此服务器是为该用户分配的是公钥信息,再查找到公钥信息对应的私钥信息,所述密钥信息key即为私钥信息。

然后利用对应的解密算法公式(3)对特征码进行解密,获取客户端的目标时间戳t:

t=f'(key,s1)(3)

公式(3)中,所述s1为所述第一特征码,f'是与rsa加密算法对应的可逆解密算法。

同样的,若客户端是利用可逆加密算法dsa加密算法计算出的第一特征码时,服务器会利用上述同样的方式解密第一特征码,获取目标时间戳。与rsa加密算法对应的解密算法不同的是,服务器是利用dsa加密算法对应的解密算法基于cookie中的身份认证标识查找为该用户分配的密钥信息key的,且该密钥信息是服务器与客户端共用的。

获取到密钥信息及目标时间戳后,生成单元24用于根据所述密钥信息及所述目标时间戳生成第二特征码;

在生成第二特征码时,生成单元24可以直接根据公式(4)生成第二特征码s2。

s2=f(key,t)(4)

其中,s2为第二特征码,所述f为单向哈希算法,所述t为所述目标时间戳,所述key为所述密钥信息。

生成单元24生成第二特征码的方法与客户端生成第一特征码的方法完全相同,在此不再赘述。

当生成单元24第二特征码后,第二判断单元25用于判断所述第二特征码与所述第一特征码是否一致,若一致,则确定用户为正常用户。若不一致,则确定用户为非正常用户。

另外,当确定出第二时间差值p后,第二判断单元25还可以基于所述第二时间差值及预设的检测条件对用户身份信息进行检测。

具体地,当第二判断单元25检测到所述第二时间差值满足检测条件|p|≤d,则确定该用户为正常用户;当第二判断单元单元25检测到第二时间差值满足检测条件|p|>d,则确定该用户为非正常用户。

这样就可以对用户的身份信息进行检测,若确定用户为非正常用户,则直接拒绝该用户发送的请求,确保直播平台的秩序。

进一步地,本实施例特征码的有效期t由目标时间戳t的时间密度k和时间阈值d来确定,具体可以根据公式(5)确定:

t=2*d/k(5)

比如,预设的时间间隔为2s,即客户端每隔2s计算一次特征码,那么t的时间密度k就为0.5,若时间阈值d设置为3s的话,那么特征码的有效期t最大为2*5/0.5=12秒。也就是说,特征码在12s内是有效的,即黑客窃取到特征码后,在12s内发送请求的话有可能是被接受的,但是在12s之后发送的请求则必然是被拒绝的。

另外,若特征码是在第1s计算出的,请求是第3秒时发出去的,那么这个请求带上的特征码实际上已经过了2秒了。服务端检查后确定第二差值是2秒,小于3,所以接受请求。但黑客窃取了这个特征码后,只能在第1秒使用。

而如果特征码在第1s计算出来后立即就有一个请求带着它发送出去,黑客窃取这个请求的特征码后,就可以在接下来3秒里使用它。

而在一般情况下,客户端时间戳与服务器端时间戳相差无几,所以p值总是在0附近。于是黑客所盗取到cookie后,特征码的有效期将只有上述情况的一半,即t=d/k。

实施例三

本实施例还提供一种用于检测用户身份信息的计算机设备,如图3所示,所述计算机设备包括:射频(radiofrequency,rf)电路310、存储器320、输入单元330、显示单元340、音频电路350、wifi模块360、处理器370、以及电源380等部件。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图3对计算机设备的各个构成部件进行具体的介绍:

rf电路310可用于信号的接收和发送,特别地,将基站的下行信息接收后,给处理器370处理。通常,rf电路310包括但不限于至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。

存储器320可用于存储软件程序以及模块,处理器370通过运行存储在存储器320的软件程序以及模块,从而执行计算机设备的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元330可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括键盘331以及其他输入设备332。键盘331,可收集用户在其上的输入操作,并根据预先设定的程式驱动相应的连接装置。键盘331采集到输出信息后再送给处理器370。除了键盘331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于触控面板、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元340可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板341。进一步的,键盘331可覆盖显示面板341,当键盘331检测到在其上或附近的触摸操作后,传送给处理器370以确定触摸事件的类型,随后处理器370根据输入事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中键盘331与显示面板341是作为两个独立的部件来实现计算机设备的输入和输入功能,但是在某些实施例中,可以将键盘331与显示面板341集成而实现计算机设备的输入和输出功能。

音频电路350、扬声器351,传声器352可提供用户与计算机设备之间的音频接口。音频电路350可将接收到的音频数据转换后的电信号,传输到扬声器351,由扬声器351转换为声音信号输出;

wifi属于短距离无线传输技术,计算机设备通过wifi模块360可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了wifi模块360,但是可以理解的是,其并不属于计算机设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器370是计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器370可包括一个或多个处理单元;优选的,处理器370可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。

计算机设备还包括给各个部件供电的电源380(比如电源适配器),优选的,电源可以通过电源管理系统与处理器370逻辑相连。

本发明实施例提供的用于检测用户身份信息的方法、服务器及计算机设备能带来的有益效果至少是:

本发明提供一种用于检测用户身份信息的方法、服务器及计算机设备,方法包括:接收客户端发送的请求信息,请求信息中带有所述客户端的当前身份信息;读取当前身份信息中的第一特征码及客户端的目标时间戳;目标时间戳根据所述客户端生成所述第一特征码时刻对应的当前时间戳及第一时间差值确定,第一时间差值为服务器端时间戳及客户端时间戳之间的时间差值;获取读取时刻对应的服务器端的第一时间戳,判断第二时间差值是否满足预设的检测条件,若满足,则获取密钥信息;第二时间差值根据所述第一时间戳及所述目标时间戳确定;根据密钥信息及所述目标时间戳生成第二特征码;判断第二特征码与第一特征码是否一致,若一致,则确定用户为正常用户;如此,当服务器接收到客户端发送的请求信息后,会对用户身份信息中的特征码进行解密,获取客户端的目标时间戳,再根据目标时间戳与密钥信息计算出第二特征码,当第二特征码与第一特征码一致时,则确定用户为正常用户,当第二特征码与第一特征码不一致时,满则确定用户为非正常用户;并且当服务器接收到客户端发送的请求信息后,还可确定出目标时间戳与解密时刻服务器端对应的第一时间戳之间的第二时间差值,当第二时间差值满足预设的检测条件则确定用户为正常用户;当第二时间差值不满足预设的检测条件,则确定用户为非正常用户;这样就能精确地识别出非正常用户,从而拒绝非正常用户的请求,并且客户端根据时间戳及密钥信息生成特征码,并将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息cookie,提高了破解难度,即使黑客盗取正常用户的cookie后,没有获取到密钥信息也不能伪造出新的cookie;即使破解了密钥信息,也会因时间关系让cookie很快失效,从而不能伪装成正常用户向服务器发送一些非正常请求,进而确保了直播平台的直播秩序。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp,digitalsignalprocessing)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读存储介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1