一种数据校验方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据校验方法和一种数据校验装置。
背景技术
客户端(Client)是指与服务器相对应,为客户提供本地服务的应用程序。用户在终端本地安装客户端后,可以通过该客户端与对应网络服务器进行交互,为用户提供客户端的相关服务器。例如,通过浏览器客户端可以浏览网页等网络信息,通过播放器客户端可以播放网络的视频数据等信息,通过游戏客户端可以玩网络游戏,通过社交网络客户端可以浏览各用户发布的消息等。
客户端作为用户终端本地的应用程序,用户通常可以在该客户端对应服务器上注册,从而启动客户端时进行登录,使得客户端为登录用户提供个性化的数据等信息。但是,若用户没有在客户端注册,则无法使用客户端的个性化服务,因此需要通过复杂的注册流程获取个性化服务,且无法保证数据的安全。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据校验方法和相应的数据校验装置。
依据本发明的一个方面,提供了一种数据校验方法,包括:第一服务器对客户端对应独立进程获取的登录信息进行登录校验;当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器;接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验;在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
可选的,第一服务器对客户端对应独立进程获取的登录信息进行登录校验,包括:第一服务器接收所述独立进程发送的加密的登录信息;对所述加密的登录信息进行解密处理;将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果;将所述比对结果反馈给所述独立进程。
可选的,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器,包括:当比对结果为所述登录信息与存储的用户注册信息一致时,确认登录校验通过;生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串;将所述动态字符串发送给所述独立进程。
可选的,对所述动态字符串进行二次校验,包括:对所述动态字符串执行以下二次校验操作,包括:时间有效性校验和数据准确性校验;当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过。
可选的,所述时间有效性校验,包括:获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内;所述数据准确性校验,包括:检测所述动态字符串与服务器中存储的二次校验串是否一致;其中,当所述时间信息在预置时间段内是确认时间有效性校验通过,当所述动态字符串与二次校验串一致时确认数据准确性校验通过。
根据本发明的另一个方面,提供了一种数据校验方法,包括:在当前客户端中进行登录时,调用独立进程获取登录信息;将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验;当所述登录校验通过后,接收所述第一服务器反馈的动态字符串;将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
可选的,调用独立进程获取登录信息,包括:启动第三方的独立进程,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口;从所述登录窗口中获取输入的登录信息。
可选的,将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验,包括:将所述登录信息加密处理,将加密后的登录信息发送给第一服务器,以使第一服务器依据所述登录信息与存储的用户注册信息进行比对;获取第一服务器反馈的比对结果确定校验是否通过。
根据本发明的另一个方面,公开了一种数据校验装置,包括:登录校验模块,用于第一服务器对客户端对应独立进程获取的登录信息进行登录校验;生成并发送模块,用于当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器;二次校验模块,用于接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验;用户信息反馈模块,用于在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
可选的,所述登录校验模块,包括:第一接收子模块,用于第一服务器接收所述独立进程发送的加密的登录信息;解密子模块,用于对所述加密的登录信息进行解密处理;第一校验子模块,用于将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果;反馈子模块,用于将所述比对结果反馈给所述独立进程。
可选的,所述生成并发送模块,包括:生成子模块,用于当比对结果为所述登录信息与存储的用户注册信息一致时,确认登录校验通过;生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串;发送子模块,用于将所述动态字符串发送给所述独立进程。
可选的,所述二次校验模块,用于对所述动态字符串执行以下二次校验操作,包括:时间有效性校验和数据准确性校验;当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过。
可选的,所述二次校验模块,包括:有效性校验子模块,用于获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内;准确性校验子模块,用于检测所述动态字符串与服务器中存储的二次校验串是否一致;其中,当所述时间信息在预置时间段内是确认时间有效性校验通过,当所述动态字符串与二次校验串一致时确认数据准确性校验通过。
根据本发明的另一个方面,公开了一种数据校验装置,包括:获取模块,用于在当前客户端中进行登录时,调用独立进程获取登录信息;校验模块,用于将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验;字符串接收模块,用于当所述登录校验通过后,接收所述第一服务器反馈的动态字符串;字符串发送模块,用于将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
可选的,获取模块,包括:启动并显示子模块,用于启动第三方的独立进程,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口;信息获取子模块,用于从所述登录窗口中获取输入的登录信息。
可选的,所述校验模块,包括:校验发送子模块,用于将所述登录信息加密处理,将加密后的登录信息发送给第一服务器,以使第一服务器依据所述登录信息与存储的用户注册信息进行比对;结果获取子模块,用于获取第一服务器反馈的比对结果确定校验是否通过。
第一服务器对独立进程获取的登录信息进行登录校验,当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器,从而在所述第二服务器请求用户信息对所述动态字符串进行二次校验,二次校验通过后反馈用户信息,从而通过登录校验和二次校验防止用户信息泄露,保证用户信息的安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例的一种服务器侧的数据校验方法的步骤流程图;
图2示出了根据本发明实施例的一种独立进程侧的数据校验方法的步骤流程图;
图3示出了根据本发明实施例的另一种独立进程侧的数据校验方法的步骤流程图;
图4示出了根据本发明实施例的另一种服务器侧的数据校验方法的步骤流程图;
图5示出了根据本发明实施例的数据校验方法示意图;
图6示出了根据本发明实施例的一种数据校验装置的结构框图;
图7示出了根据本发明实施例的一种数据校验装置的优选结构框图;
图8示出了根据本发明实施例的另一种数据校验装置的结构框图;
图9示出了根据本发明实施例的另一种数据校验装置的优选结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了根据本发明实施例的一种服务器侧的数据校验方法的步骤流程图,具体可以包括如下步骤:
步骤102,第一服务器对客户端对应独立进程获取的登录信息进行登录校验。
为保护用户信息的安全,对于客户端中用户的登录通过第三方的独立进程执行。因此,当用户在当前客户端中进行登录时,由独立进程获取登录信息,将登录信息发送给独立进程对应的第一服务器。其中,与独立进程交互的第一服务器也可以是第三方的服务器,即在该客户端中登录的用户可以是在第三方服务器上注册的用户,客户端为第三方的用户提供个性化数据服务。
第一服务器在接收到独立进程发送的登录信息后,会对该登录信息进行登录校验,即检测该登录信息对应用户是否是该服务器中注册的用户,其输入的登录信息是否准确,如用户名和密码是否匹配,从而确定登录校验是否通过,生成相应的校验结果反馈给独立进程。
步骤104,当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器。
当登录信息的登录校验通过后,表征该用户是在第一服务器中注册的用户,独立进程登录成功。用户可以进入客户端中,但是客户端还需要获取该用户的用户信息,以为其提供个性化的业务服务,因此客户端需要向自己的第二服务器请求用户信息,但是该用户信息是存储在用户注册的第一服务器中,因此第二服务器会向第一服务器请求用户信息。
为了防止用户信息泄露,第一服务器会生成一动态字符串,该动态字符串是动态生成的一系列字符串,用于在请求用户信息时执行校验即对用户进行二次校验,以保证请求该用户信息的用户是合法、安全的。将该动态字符串反馈给独立进程,独立进程在确认登录信息通过校验以后可以将动态字符串反馈给客户端,再由客户端将动态字符串发送得第二服务器。
其中,第一服务器可以将动态字符串和登录校验的结果可以一同或分开发送给独立进程,按照需求设定即可。
步骤106,接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验。
第二服务器从客户端获取动态字符串之后,会向第一服务器发送请求携带该动态字符串以获取用户信息,例如将动态字符串作为请求参数发送。服务器在接收到该动态字符串之后,会对该动态字符串进行二次校验,检测该动态字符串是否准确。
步骤108,在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
若动态字符串准确,即二次校验确认通过,可以获取该登录信息对应用户的用户信息,将用户信息反馈给第二服务器,第二服务器再将该用户信息发送给客户端,客户端可以基于该用户信息启动客户端并显示相应的内容。
综上,第一服务器对独立进程获取的登录信息进行登录校验,当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器,从而在所述第二服务器请求用户信息对所述动态字符串进行二次校验,二次校验通过后反馈用户信息,从而通过登录校验和二次校验防止用户信息泄露,保证用户信息的安全。
上述描述了服务器侧对数据校验的处理步骤,下面以独立进程为例论述数据校验步骤。
参照图2,示出了根据本发明实施例的一种独立进程侧的数据校验方法的步骤流程图,具体可以包括如下步骤:
步骤202,在当前客户端中进行登录时,调用独立进程获取登录信息。
本实施中,为保护用户信息的安全,对于客户端中用户的登录通过第三方的独立进程执行。因此,当用户在当前客户端中进行登录时,当前客户端的进程会调用第三方的独立进程来执行登录,例如通过独立进程启动子窗口,在子窗口中获取用户输入的登录信息。
步骤204,将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验。
独立进程将登录信息发送给第一服务器,使第一服务器对该登录信息进行登录校验。
步骤206,当所述登录校验通过后,接收所述第一服务器反馈的动态字符串。
步骤208,将所述动态字符串发送给所述客户端,以在所述客户端对应服务器请求用户信息时基于所述动态字符串执行二次校验。
登录校验通过后,第一服务器会生成动态字符串以备后续请求用户信息时进行校验,因此会将登录校验通过的结果以及动态字符串反馈给独立进程,独立进程将该动态字符串发送给客户端,客户端在向第二服务器请求用户信息时携带该动态字符串,从而使得第二服务器能够从第一服务器中获取用户信息并反馈客户端,保证用户正常使用客户端。
综上,将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验,而后在登录校验通过后将从第一服务器接收的动态字符串发送给客户端,以使客户端的第二服务器在请求用户信息时基于所述动态字符串执行二次校验,从而通过登录校验和二次校验防止用户信息泄露,保证用户信息的安全。
实施例二
在上述实施例的基础上,本实施例详细论述在登录以及获取用户信息过程中的数据校验方法。
参照图3,示出了根据本发明实施例的另一种独立进程侧的数据校验方法的步骤流程图,具体可以包括如下步骤:
步骤302,在当前客户端中进行登录时,启动第三方的独立进程。
步骤304,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口。
采用第三方的独立进程进行客户端中用户的登录,该独立进程是一个独立于客户端进程之外的第三方进程,通过将信息敏感组件和功能以独立进程的方式封装生成,其中,信息敏感组件包括用户名输入组件、密码输入组件、与云端交互/加密逻辑组件等,对应功能包括获取用户名、密码等登录信息,以及与云端的服务器进行加密交互等。
其中,独立进程在启动后可以通过接口从客户端中获取更新数据,显示更新的进度和结果,若更新失败侧提示无法登录,若更新成功则独立进程调用登录窗口,该窗口是客户端的显示窗口的子窗口,因此可以将所述窗口显示在所述当前客户端的显示窗口之上。
本发明一个可选实施例中,调用所述独立登录进程对应登录窗口,将所述窗口显示在所述当前客户端的显示窗口之上,包括如下子步骤:子步骤2042,依据所述当前客户端的进程填写的导出函数,调用所述独立登录进程对应登录窗口。子步骤2044,将所述登录窗口作为所述当前客户端的显示窗口的子窗口,将子窗口显示在所述当前客户端的显示窗口之上。
本实施例中,通过第三方独立模块调用上述封装生成的独立登录进程,第三方独立模块的一种呈现形式以动态链接库(DynamicLinkLibrary,DLL)为载体。客户端调用DLL,DLL提供简单的导出函数给客户端填写简单的句柄,显示区域,结果回调函数等信息,如导出函数为:
UserLogon(HWNDhParentWnd,RECTrcClien,LPLoginResultCallBacklpLoginCallBack)
DLL接口自动与独立登录进程通信交互,包括启动第三方的独立登录进程,以及控制进程中登录窗口的显示,以达到当前客户端的进程调用独立登录进程中窗口显示的目的。
DLL基于当前客户端的进程填写的导出函数调用所述独立登录进程对应的登录组件包括用户名输入组件、密码输入组件,从而生成相应的登录窗口,并确定登录窗口的显示区域,将当前客户端的显示窗口作为父窗口,该登录窗口作为所述当前客户端的显示窗口的子窗口,将子窗口显示在父窗口之上。
步骤306,从所述登录窗口中获取输入的登录信息。
步骤308,将所述登录信息加密处理,将加密后的登录信息发送给第一服务器。
步骤310,获取第一服务器反馈的比对结果确定校验是否通过。
用户可以在登录窗口中输入登录信息,如用户名、密码等敏感信息,对应独立登录进程从该登录窗口中获取输入的登录信息,然后通过与云端交互/加密逻辑组件对登录信息进行加密处理得到加密的登录信息,登录信息的加密方法可以有多种,本实施例对此不作限定。将加密的登录信息发送给服务器。
第一服务器在接收到加密的登录信息后,首先会进行解密,然后将解密的登录信息与存储的用户注册信息进行比对,确定用户名和密码是否准确,并得到相应的比对结果,例如一致、不一致;成功、失败等。从而能够依据比对结果确定校验是否通过。
若校验通过,执行步骤212;若校验不通过,执行步骤215。
步骤312,在所述登录校验通过后,接收所述第一服务器反馈的动态字符串。
其中,若登录校验结果为通过,即比对具有一致的注册信息,则第一服务器会生成动态字符串,可以将动态字符串和通过校验的比对结果共同反馈给独立进程。
步骤314,将所述动态字符串发送给所述客户端。
独立进程将该动态字符串发送给客户端,客户端在向第二服务器请求用户信息时携带该动态字符串,从而使得第二服务器能够从第一服务器中获取用户信息并反馈客户端,保证用户正常使用客户端。
步骤316,在当前客户端的显示窗口之上显示登录失败的提示信息。
若登录校验,可以生成登录失败的提示信息,如提示“登录失败”,或者提示“用户名或密码错误”,以及提示用户可以重新登录等。在当前客户端的显示窗口之上显示登录失败的提示信息。
上述是独立进程在登录时的数据处理过程,实际处理中,第一服务器为保证用户信息的安全,处理在登录时进行验证之外,在请求用户信息时同样需要验证,具体过程如下:
参照图4,示出了根据本发明实施例的另一种服务器侧的数据校验方法的步骤流程图,具体可以包括如下步骤:
步骤402,第一服务器接收所述独立进程发送的加密的登录信息。
步骤404,对所述加密的登录信息进行解密处理。
步骤406,将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果。
第一服务器在接收到加密的登录信息后,依据该加密的登录信息对用户进行校验,如首先对登录信息进行解密,然后依据解密得到的登录信息与数据库中存储的用户注册信息进行比对,确定该登录信息是否准确,得到相应的比对结果即校验通过与否的结果。
若比对一致即校验通过,执行步骤408;若比对不一致即校验不通过,执行步骤410。
步骤408,生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串。
当校验通过表征本次登录成功,由于后续需要请求用户信息,因此第一服务器会生成在预置时间段内有效的动态字符串,即动态字符串是第一服务器在登录成功后才动态生成的唯一字符串,其该字符串具有时效性,即在预置时间段内有效,若超过该预置时间段才发送验证,则为无效数据。并且,后续会依据该动态字符串进行二次校验确定是否能够反馈用户信息,因此可以将动态字符串记录为二次校验串,以备二次校验时使用,记录时可以记录登录信息对应唯一的用户标识、动态字符串和有效时间(即预置时间段)。
步骤410,反馈独立进程。
在校验不通过时,将校验不通过的比对结果反馈给独立进程。当校验通过时,将校验通过的比对结果以及预置时间段内有效的动态字符串同时或分次发送给独立进程。
步骤412,接收所述第二服务器在请求用户信息时反馈的动态字符串。
步骤414,对所述动态字符串执行时间有效性校验。
步骤416,对所述动态字符串执行数据准确性校验。
第二服务器从客户端接收动态字符串,将动态字符串发送给第一服务器以请求用户信息。第一服务器对所述动态字符串分别执行时间有效性校验和数据准确性校验。
其中,所述时间有效性校验,包括:获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内。
即在获取动态字符串时记录获取的时间信息,如获取的时间点,检测该时间点是否在预置时间段内,例如动态字符串在2分钟内有效,则确定获取时间点是否在动态字符串生成后的2分钟内,当所述时间信息在预置时间段内是确认时间有效性校验通过,否则超过有效时间,该动态字符串无效,无法通过校验,需要重新请求动态字符串进行校验。
所述数据准确性校验,包括:检测所述动态字符串与服务器中存储的二次校验串是否一致;
将该动态字符串按照用户标识确定对应的二次校验串,检测两者是否一致,当所述动态字符串与二次校验串一致时确认数据准确性校验通过,否则动态字符串错误,无法通过校验。
步骤418,通过所述第二服务器将所述用户信息反馈给所述客户端。
当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过,将用户信息反馈给第二服务器,第二服务器再反馈给客户端,从而客户端可以依据该用户信息启动为用户提供服务。
例如在游戏客户端中反馈的用户信息即为该用户在该游戏中的角色信息以及游戏进度等信息,又如针对视频客户端反馈的用户信息即为该用户的观看记录以及等级信息等。
步骤420,反馈获取失败。
当动态字符串的时间有效性校验和数据准确性校验任一不通过,或均不通过时,表征二次校验失败,此时可以反馈第二服务器获取失败提示,表征其无法获取该用户信息。
下面结合独立进程、第一服务器、客户端和第二服务器论述登录、用户信息获取过程中的数据校验步骤。
参照图5,示出了根据本发明实施例的数据校验方法示意图,具体可以包括如下步骤:
5.02、启动独立进程。
5.04、独立进程向客户端请求数据更新内容。
5.06、更新完毕后,独立进程在客户端的显示窗口至少显示登录窗口。
5.08、独立进程获取登录信息。
5.10、独立进程对登录信息加密处理后发送给第一服务器。
5.12、第一服务器对登录信息进行登录校验。
5.14、登录校验通过后生成在在预置时间段内有效的动态字符串。
5.16、将登录校验结果、动态字符串反馈给独立进程
其中若登录失败则不会反馈动态字符串,登录过程结束。
因此,在登录校验通过获取动态字符串后执行下述获取用户信息的二次校验步骤。
5.18、独立进程将动态字符串发送给客户端。
5.20、客户端在请求用户信息时将动态字符串发送给第二服务器。
5.22、第二服务器将动态字符串发送给第一服务器。
5.24、第一服务器对动态字符串进行有效性和准确性的二次校验。
5.26、二次校验通过后,反馈用户信息给第二服务器。
5.28、第二服务器将用户信息发送给客户端。
5.30、客户端启动。
上述实施例详细描述了登录、用户信息获取过程中的数据校验方法,以游戏客户端为例,游戏客户端的厂商通过专注于游戏本身的研发,通常执行在游戏服务器(即第二服务器)注册并登录,为了给用户提供更好地服务,本实施例提供第三方登录方式,即基于应用平台,用户虽然未在游戏服务器注册,但已在应用平台注册就可以直接进行游戏,因此用户信息涉及到游戏服务器和平台服务器之间的传输。
以基于Windows系统下的游戏平台为例,针对通用的游戏引擎而研发的PC游戏辅助平台。其中游戏的登录包括用户登陆和登陆校验两部分。该部分是在游戏运行之前执行的,且本实施例中支持在游戏客户端中通过第三方的登录信息进行登录,即兼容辅助平台账号的登录,从而对于已在平台注册的用户,免去其重新针对游戏注册的繁琐过程,直接通过已有的账号进行登录即可,使得登录的用户体验更加友好方便。在平台服务器的登陆校验通过后,游戏服务器可以向平台服务器请求用户信息,即在游戏中的角色、进度等信息,则此时需要依据平台服务器生成的具有时效性的动态字符串进行二次校验,保证用户信息的安全。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
在上述实施例的基础上,本实施例还提供了一种数据校验装置,位于服务器侧。
参照图6,示出了根据本发明实施例的一种数据校验装置的结构框图,具体可以包括如下模块:
登录校验模块602,用于第一服务器对客户端对应独立进程获取的登录信息进行登录校验。
生成并发送模块604,用于当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器。
二次校验模块606,用于接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验。
用户信息反馈模块608,用于在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
综上,第一服务器对独立进程获取的登录信息进行登录校验,当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器,从而在所述第二服务器请求用户信息对所述动态字符串进行二次校验,二次校验通过后反馈用户信息,从而通过登录校验和二次校验防止用户信息泄露,保证用户信息的安全。
参照图7,示出了根据本发明实施例的一种数据校验装置的优选结构框图,具体可以包括如下模块:
登录校验模块702,用于第一服务器对客户端对应独立进程获取的登录信息进行登录校验。
生成并发送模块704,用于当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器。
二次校验模块706,用于接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验。
用户信息反馈模块708,用于在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
所述登录校验模块702,包括:接收子模块70202,用于第一服务器接收所述独立进程发送的加密的登录信息;解密子模块70204,用于对所述加密的登录信息进行解密处理;登录校验子模块70206,用于将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果;反馈子模块70208,用于将所述比对结果反馈给所述独立进程。
所述生成并发送模块704,包括:生成子模块70402,用于当比对结果为所述登录信息与存储的用户注册信息一致时,确认登录校验通过;生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串;发送子模块70404,用于将所述动态字符串发送给所述独立进程。
所述二次校验模块706,用于对所述动态字符串执行以下二次校验操作,包括:时间有效性校验和数据准确性校验;当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过。
所述二次校验模块706,包括:有效性校验子模块70602,用于获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内;准确性校验子模块70604,用于检测所述动态字符串与服务器中存储的二次校验串是否一致;其中,当所述时间信息在预置时间段内是确认时间有效性校验通过,当所述动态字符串与二次校验串一致时确认数据准确性校验通过。
实施例四
在上述实施例的基础上,本实施例还提供了另一种数据校验装置,位于用户终端侧。
参照图8,示出了根据本发明实施例的另一种数据校验装置的结构框图,具体可以包括如下模块:
获取模块802,用于在当前客户端中进行登录时,调用独立进程获取登录信息。
校验模块804,用于将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验。
字符串接收模块806,用于当所述登录校验通过后,接收所述第一服务器反馈的动态字符串。
字符串发送模块808,用于将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
综上,将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验,而后在登录校验通过后将从第一服务器接收的动态字符串发送给客户端,以使客户端的第二服务器在请求用户信息时基于所述动态字符串执行二次校验,从而通过登录校验和二次校验防止用户信息泄露,保证用户信息的安全。
参照图9,示出了根据本发明实施例的另一种数据校验装置的优选结构框图,具体可以包括如下模块:
获取模块902,用于在当前客户端中进行登录时,调用独立进程获取登录信息。
校验模块904,用于将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验。
字符串接收模块906,用于当所述登录校验通过后,接收所述第一服务器反馈的动态字符串。
字符串发送模块908,用于将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
所述获取模块902,包括:启动并显示子模块90202,用于启动第三方的独立进程,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口;信息获取子模块90204,用于从所述登录窗口中获取输入的登录信息。
所述校验模块904,包括:校验发送子模块90402,用于将所述登录信息加密处理,将加密后的登录信息发送给第一服务器,以使第一服务器依据所述登录信息与存储的用户注册信息进行比对;结果获取子模块90404,用于获取第一服务器反馈的比对结果确定校验是否通过。
本发明实施例还公开了一种数据校验系统,包括第一服务器、第二服务器、第一客户端和第二客户端,其中,第一服务器包括如上述实施例三所述的数据校验装置,第一客户端包括如上述实施例四所述的数据校验装置,第一客户端中包括在第二客户端中运行的独立进程。
以游戏客户端为例,游戏客户端的厂商通过专注于游戏本身的研发,通常执行在游戏服务器(即第二服务器)注册并登录,为了给用户提供更好地服务,本实施例提供第三方登录方式,即基于应用平台,用户虽然未在游戏服务器注册,但已在应用平台注册就可以直接进行游戏,因此用户信息涉及到游戏服务器和平台服务器之间的传输。
以基于Windows系统下的游戏平台为例,针对通用的游戏引擎而研发的PC游戏辅助平台。其中游戏的登录包括用户登陆和登陆校验两部分。该部分是在游戏运行之前执行的,且本实施例中支持在游戏客户端中通过第三方的登录信息进行登录,即兼容辅助平台账号的登录,从而对于已在平台注册的用户,免去其重新针对游戏注册的繁琐过程,直接通过已有的账号进行登录即可,使得登录的用户体验更加友好方便。在平台服务器的登陆校验通过后,游戏服务器可以向平台服务器请求用户信息,即在游戏中的角色、进度等信息,则此时需要依据平台服务器生成的具有时效性的动态字符串进行二次校验,保证用户信息的安全。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据校验方法和装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种数据校验方法,包括:第一服务器对客户端对应独立进程获取的登录信息进行登录校验;当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器;接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验;在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
A2、根据A1所述的方法,第一服务器对客户端对应独立进程获取的登录信息进行登录校验,包括:第一服务器接收所述独立进程发送的加密的登录信息;对所述加密的登录信息进行解密处理;将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果;将所述比对结果反馈给所述独立进程。
A3、根据A2所述的方法,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器,包括:当比对结果为所述登录信息与存储的用户注册信息一致时,确认登录校验通过;生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串;将所述动态字符串发送给所述独立进程。
A4、根据A3所述的方法,对所述动态字符串进行二次校验,包括:对所述动态字符串执行以下二次校验操作,包括:时间有效性校验和数据准确性校验;当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过。
A5、根据A4所述的方法,所述时间有效性校验,包括:获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内;所述数据准确性校验,包括:检测所述动态字符串与服务器中存储的二次校验串是否一致;其中,当所述时间信息在预置时间段内是确认时间有效性校验通过,当所述动态字符串与二次校验串一致时确认数据准确性校验通过。
本发明还公开了B6、一种数据校验方法,包括:在当前客户端中进行登录时,调用独立进程获取登录信息;将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验;当所述登录校验通过后,接收所述第一服务器反馈的动态字符串;将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
B7、根据B6所述的方法,调用独立进程获取登录信息,包括:启动第三方的独立进程,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口;从所述登录窗口中获取输入的登录信息。
B8、根据B7所述的方法,将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验,包括:将所述登录信息加密处理,将加密后的登录信息发送给第一服务器,以使第一服务器依据所述登录信息与存储的用户注册信息进行比对;获取第一服务器反馈的比对结果确定校验是否通过。
本发明还公开了C9、一种数据校验装置,包括:登录校验模块,用于第一服务器对客户端对应独立进程获取的登录信息进行登录校验;生成并发送模块,用于当所述登录校验通过时,生成动态字符串以通过所述独立进程传输给所述客户端对应第二服务器;二次校验模块,用于接收所述第二服务器在请求用户信息时反馈的动态字符串,对所述动态字符串进行二次校验;用户信息反馈模块,用于在所述二次校验通过后通过所述第二服务器将所述用户信息反馈给所述客户端。
C10、根据C9所述的装置,所述登录校验模块,包括:第一接收子模块,用于第一服务器接收所述独立进程发送的加密的登录信息;解密子模块,用于对所述加密的登录信息进行解密处理;第一校验子模块,用于将所述解密的登录信息与存储的用户注册信息进行比对,生成比对结果;反馈子模块,用于将所述比对结果反馈给所述独立进程。
C11、根据C10所述的装置,所述生成并发送模块,包括:生成子模块,用于当比对结果为所述登录信息与存储的用户注册信息一致时,确认登录校验通过;生成在预置时间段内有效的动态字符串,将所述动态字符串记录为二次校验串;发送子模块,用于将所述动态字符串发送给所述独立进程。
C12、根据C11所述的装置,所述二次校验模块,用于对所述动态字符串执行以下二次校验操作,包括:时间有效性校验和数据准确性校验;当所述时间有效性校验和数据准确性校验均通过时,所述二次校验通过。
C13、根据C12述的方法,所述二次校验模块,包括:有效性校验子模块,用于获取接收所述动态字符串的时间信息;检测所述时间信息是否在预置时间段内;准确性校验子模块,用于检测所述动态字符串与服务器中存储的二次校验串是否一致;其中,当所述时间信息在预置时间段内是确认时间有效性校验通过,当所述动态字符串与二次校验串一致时确认数据准确性校验通过。
本发明还公开了C14、一种数据校验装置,包括:获取模块,用于在当前客户端中进行登录时,调用独立进程获取登录信息;校验模块,用于将所述登录信息发送给所述独立进程对应的第一服务器进行登录校验;字符串接收模块,用于当所述登录校验通过后,接收所述第一服务器反馈的动态字符串;字符串发送模块,用于将所述动态字符串发送给所述客户端,以在所述客户端对应第二服务器请求用户信息时基于所述动态字符串执行二次校验。
C14、如C14所述的装置,获取模块,包括:启动并显示子模块,用于启动第三方的独立进程,将所述独立进程对应的子窗口显示在所述当前客户端的显示窗口之上,所述子窗口包括登录窗口;信息获取子模块,用于从所述登录窗口中获取输入的登录信息。
C16、根据C15所述的装置,所述校验模块,包括:校验发送子模块,用于将所述登录信息加密处理,将加密后的登录信息发送给第一服务器,以使第一服务器依据所述登录信息与存储的用户注册信息进行比对;结果获取子模块,用于获取第一服务器反馈的比对结果确定校验是否通过。