发明内容
本申请实施例提供了一种数据请求的处理方法及处理装置,可以有效的制止网络访问方的恶意攻击行为。
第一方面,提供了一种数据请求的处理方法,该处理方法包括:
当接收到客户端发送的数据请求时,获取所述客户端的环境信息;
根据所述环境信息,判断所述数据请求是否为正常用户发起的请求;
当所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型;
根据确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息;
根据确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息;
向所述客户端返回所述第一结果信息。
第二方面,提供了一种数据请求的处理装置,该处理装置包括:获取单元、判断单元、确定单元、生成单元、组装单元和发送单元;
所述获取单元,用于当接收到客户端发送的数据请求时,获取所述客户端的环境信息;
所述判断单元,用于根据所述获取单元获取的所述环境信息,判断所述数据请求是否为正常用户发起的请求;
所述确定单元,用于当所述判断单元判断所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型;
所述生成单元,用于根据所述确定单元确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息;
所述组装单元,用于根据所述确定单元确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述生成单元生成的所述第一数据信息进行组装,获得第一结果信息;
所述发送单元,用于向所述客户端返回所述组装单元组装的所述第一结果信息。
本申请提供的数据请求的处理方法及处理装置,当接收到客户端发送的数据请求时,获取所述客户端的环境信息;根据所述环境信息,判断所述数据请求是否为正常用户发起的请求;当所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型;根据确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息;根据确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息;向所述客户端返回所述第一结果信息。由此可知,本申请在判断出数据请求为非正常用户发起的请求时,不对该数据请求进行拦截,而是生成与真实结果信息不一致的第一结果信息并返回,从而网络访问方不能获知其数据请求被拦截,由此可以有效的制止网络访问方的恶意攻击行为。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。
本申请实施例提供的数据请求的处理方法及处理装置,适用于对互联网系统中的数据请求进行处理的场景,尤其适用于对互联网系统中的Web页面请求进行处理的场景,其中,互联网系统可以包括服务端和客户端,或者包括服务器和浏览器。其中,浏览器或者客户端用于与网络访问方进行交互,包括获取网络访问方输入的信息和向网络访问方显示结果信息,其中,网络访问方用于表示跟自然人相关的单独个体,可以为用来表示单独个体的用户、账户和账号等,在此说明书中,以网络访问方为用户进行说明;服务端用于对客户端发送的数据请求进行处理,并得到结果信息。服务端包括数据库,该数据库中存储了已处理的数据请求的相关信息(如,网络访问方的用户id等)。
图1为本申请一种实施例提供的数据请求的处理方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务端或者系统或者装置,如图1所示,所述方法具体包括:
步骤110,当接收到客户端发送的数据请求时,获取所述客户端的环境信息。
此处,数据请求可以为Web页面请求等。客户端的环境信息可以包括以下一种或者多种:1)客户端的互联网协议(Internet Protocol,IP)地址信息;2)客户端的Cookie信息,此处的Cookie信息是由服务端在第一次处理完成对客户端发送的数据请求后生成的,用于唯一的标识一个客户端,需要说明的是,上述Cookie信息由客户端进行保存;在客户端保存服务端生成的Cookie信息后,当该客户端再次向服务端发送数据请求时,该数据请求中携带上述Cookie信息,以用于服务端识别该客户端;3)客户端的浏览器版本信息,如,IE浏览器(7.0、8.0、9.0以及10.0)、f irefox(35.0或者40.0等)浏览器或者谷歌(Google)浏览器等;4)客户端的硬件地址信息,如,客户端终端设备的媒体访问控制(Media Access Control,MAC)地址的标识信息(umid)等;5)客户端的访问频率信息,即在预设的时间段内(如,1天)该客户端向服务端发送数据请求的次数,具体地,可以根据用户的id,统计客户端向服务端发送数据请求的次数。
需要说明的是,上述前四种环境信息可以直接携带在客户端发送的数据请求中,而客户端的访问频率信息则可以由服务端根据数据库中记录的历史信息统计得到。此外,还需要说明的是,客户端的环境信息还可以包括其它类型的信息,如,用户的id等,本申请对此不作限定。
步骤120,根据所述环境信息,判断所述数据请求是否为正常用户发起的请求。
具体地,可以根据环境信息中的任一种或者多种,判断数据请求是否为正常用户发起的请求。以下以根据环境信息中的一种,判断数据请求是否为正常用户发起的请求为例来说。
当根据客户端的IP地址信息,判断数据请求是否为正常用户发起的请求时,具体判断过程为:对同一客户端发送的连续两次(如,10分钟之内)的数据请求,若第一次发送的数据请求中携带的IP地址为B国家的地址,而第二次发送的数据请求中携带的IP地址为A国家的地址,则可以判断该数据请求为非正常用户发起的请求。
当根据客户端的Cookie信息,判断数据请求是否为正常用户发起的请求时,具体判断过程为:服务端可以在预设的时间段内(如,1天)统计接收到的客户端的Cookie信息的次数,由此可以统计出在预设的时间段内该客户端访问服务端的次数,若该次数大于预设阈值,则可以判断该数据请求为非正常用户发起的请求。
当根据客户端的浏览器版本信息,判断数据请求是否为正常用户发起的请求时,具体判断过程为:将当前接收到的数据请求中携带的浏览器版本信息与预先记录的浏览器版本信息一一进行比对,若比对不一致,则可以判断该数据请求为非正常用户发起的请求。
当根据客户端的硬件地址信息,判断数据请求是否为正常用户发起的请求时,具体判断过程为:服务端可以在预设的时间段内(如,1天)统计接收到的客户端的硬件地址信息的次数,由此可以统计出在预设的时间段内该客户端访问服务端的次数,若该次数大于预设阈值,则可以判断该数据请求为非正常用户发起的请求。
当根据客户端的访问频率信息,判断数据请求是否为正常用户发起的请求时,具体判断过程为:若访问频率大于预设阈值,则可以判断该数据请求为非正常用户发起的请求。
可以理解的是,为了提高数据请求判断的准确性,可以根据两种或者两种以上的环境信息,对数据请求进行判断,在一个例子中,可以将环境信息中的任一种或者多种输入预设的模型,并判断预设的模型的输出值是否在预设的取值范围之内,若在预设的取值范围之内,则可以将该用户请求判断为正常用户发起的请求,否则判断为非正常用户发起的请求,其中,预设的模型可以为支持向量机或者决策树等,支持向量机或者决策树等模型为现有成熟的模型,基于其对数据请求进行判断为现有成熟技术。因此,本步骤不再详细阐述。
步骤130,当所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型。
具体地,当根据环境信息中的一种或者多种,判断数据请求为非正常用户发起的请求时,由数据混淆器确定所述数据请求的类型。在一个例子中,数据请求的类型包括:获取已注册账号的请求和验证预设的账号是否为已注册账号的请求。
参见图2所示的本申请提供的数据混淆器示意图,图2中,数据混淆器包括:请求分类组件201、数据生成组件202和结果组装组件203,其中,请求分类组件201用于确定数据请求的类型;数据生成组件202包括多个数据生成器,每个数据生成器对应一种类型的数据请求,用于随机生成相应类型的数据;结果组装组件203用于按照与数据请求的类型对应的结果展现格式,对生成的数据信息进行组装,使得返回的结果信息与真实结果信息格式一致,从而网络访问方无法分辨哪些是真实的数据,哪些是假的数据,也即无法获知其数据请求被拦截,由此可以有效的制止网络访问方的恶意攻击行为。
可选地,上述请求分类组件201确定数据请求的类型的一种实现方式为:根据数据请求中携带的待访问页面的地址信息,确定数据请求的类型。具体地,本申请可以预先对互联网系统中的页面进行分类,假设页面的分类结果如表1所示。
表1
类型1 |
类型2 |
类型3 |
页面1 |
页面3 |
页面6 |
页面2 |
页面4 |
页面7 |
|
页面5 |
页面8 |
则当数据请求中携带的待访问页面的地址信息为页面1或者页面2的地址信息时,则可以确定数据请求的类型为类型1,而当数据请求中携带的待访问页面的地址信息为页面3、页面4或者页面5的地址信息时,则可以确定数据请求的类型为类型2,依次类推。
当然,在实际应用中,也可以根据其它信息,确定数据请求的类型,如,可以根据数据请求中携带的内容信息,确定数据请求的类型,本申请对此不作限定。
步骤140,根据确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息。
即可以由数据混淆器根据确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息。
具体地,在请求分类组件201确定数据请求的类型之后,就可以调用该类型的数据请求对应的数据生成器随机生成相应的数据信息,可以理解的是,此处数据生成器通常是随机生成数据信息的,因此,其生成的数据信息往往与数据请求所请求的真实结果信息是不一致的。在一个例子中,数据生成组件202包括两种类型的数据生成器:生成互联网中已注册账号的生成器和布尔值数据生成器,该两个数据生成器分别对应上述获取已注册账号的请求类型和验证预设的账号是否为已注册账号的请求类型。具体地,当请求分类组件201确定数据请求的类型为获取已注册账号的请求类型时,则调用生成互联网中已注册账号的生成器生成相应的数据信息,否则调用布尔值数据生成器生成相应的数据信息。
当然,在实际应用中,由于注册账号也可以分为不同的类型,比如,电子邮箱或者手机号码,所以生成互联网中已注册账号的生成器又可以划分为两种类型的生成器。或者,在其它的应用场景中,可以根据需要对数据生成组件202进行进一步的扩展,增加新类型的数据生成器,本申请对此不作限定。
步骤150,根据确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息。
即由数据混淆器根据确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息。
在调用数据生成器生成相应的数据信息之后,为了避免网络访问方分辨出真实数据和假的数据,还可以通过结果组装组件203对生成的数据信息进行组装。因为不同类型的数据请求对应不同的结果信息展示格式,如,当数据请求的类型为获取已注册账号的请求时,则对应该数据请求的类型的真实结果信息的展现格式为:您的帐号注册成功,登录号为:xxxx@xxx.com;因此,在数据请求的类型为获取已注册账号的请求时,则在生成相应的数据信息之后,可以通过结果组装组件203将生成的数据信息组装成如上形式的结果信息。
以数据处理方法应用于支付宝系统为例来说,因为支付宝账号通常包括两种类型:电子邮箱和手机号码,因此可以假设数据请求的类型包括:获取电子邮箱登录号的请求、获取手机号码登录号的请求以及检查预设的登录号是否存在的请求。与上述数据请求的类型相应的,数据生成组件202可以包括三种类型的数据生成器:电子邮箱数据生成器、手机号码数据生成器和布尔值数据生成器。具体地,在数据请求为非正常用户发送的数据请求时,请求分类组件201可以根据数据请求中携带的待访问页面的地址信息,对接收到的数据请求进行分类,假设当数据请求中携带的待访问页面的地址信息为电子邮箱注册页面的地址信息时,也即数据请求的类型为获取电子邮箱登录号的请求时,则可以调用电子邮箱生成器随机生成任一电子邮箱地址,如,生成xxxx@xxx.com,该电子邮箱地址通常与真实存在的邮箱地址是不一致的;之后结果组装组件203按照对应获取电子邮箱登录号的请求的真实结果信息的结果展现格式对生成的任一电子邮箱地址进行组装,获得第一结果信息,如,第一结果信息可以为:您的账号注册成功,登录号为:xxxx@xxx.com。
需要说明的是,上述电子邮箱生成器由能随机生成一组字符串的软件模块实现,且该一组字符串满足电子邮箱的格式定义,如,生成的一组字符串形如“xxxx@xxx.com”;手机号码生成器可以由能随机生成一组11位数字串的软件模块实现,如,生成的字符串形如“12345612312”;而布尔值生成器可以由能随机地生成“是”或者“否”的结果的软件模块实现。
步骤160,向所述客户端返回所述第一结果信息。
数据混淆器在获得上述第一结果信息之后,就可以向客户端返回该第一结果信息,因为返回的第一结果信息的展现格式与真实的结果信息相同,因此网络访问方无法分辨哪些是真实的数据,哪些是假的数据,也即无法获知其数据请求被拦截,由此可以有效的制止网络访问方的恶意攻击行为。
需要说明的是,上述步骤说明的是在判断数据请求为非正常用户发起的数据请求时,服务端所进行的处理过程,而在判断数据请求为正常用户发起的数据请求时,则对该数据请求进行正常处理,并返回正常处理后的第二结果信息,此处,数据请求的正常处理过程属于现有成熟技术,在此不复赘述。
本申请提供的数据请求的处理方法,当接收到客户端发送的数据请求时,获取所述客户端的环境信息;根据所述环境信息,判断所述数据请求是否为正常用户发起的请求;当所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型;根据确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息;根据确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息;向所述客户端返回所述第一结果信息。由此可以有效的制止网络访问方的恶意攻击行为。
与上述数据请求的处理发方法对应地,本申请实施例还提供的一种数据请求的处理装置,如图3所示,该处理装置包括:获取单元301、判断单元302、确定单元303、生成单元304、组装单元305和发送单元306。
获取单元301,用于当接收到客户端发送的数据请求时,获取所述客户端的环境信息。
其中,所述环境信息包括以下一种或者多种:客户端的互联网协议IP地址信息、客户端的Cookie信息、客户端的浏览器版本信息、客户端的硬件地址信息和客户端的访问频率信息。
判断单元302,用于根据获取单元301获取的所述环境信息,判断所述数据请求是否为正常用户发起的请求。
确定单元303,用于当判断单元302判断所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型。
其中,所述数据请求的类型包括:获取已注册账号的请求和验证预设的账号是否为已注册账号的请求。
生成单元304,用于根据确定单元303确定的所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息。
生成单元304具体用于:根据确定的所述数据请求的类型,调用对应所述数据请求的类型的数据生成器,所述数据生成器用于随机生成与真实结果信息不一致的第一数据信息。
组装单元305,用于根据确定单元303确定的所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对生成单元304生成的所述第一数据信息进行组装,获得第一结果信息。
发送单元306,用于向所述客户端返回组装单元305组装的所述第一结果信息。
可选地,所述数据请求中携带待访问页面的地址信息;
确定单元303具体用于:
根据所述数据请求中携带的待访问页面的地址信息,确定所述数据请求的类型。
本申请实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。
本申请实施例提供的数据请求的处理装置,获取单元301当接收到客户端发送的数据请求时,获取所述客户端的环境信息;判断单元302根据获取的所述环境信息,判断所述数据请求是否为正常用户发起的请求;确定单元303当所述数据请求为非正常用户发起的请求时,确定所述数据请求的类型;生成单元304根据所述数据请求的类型,随机生成与真实结果信息不一致的第一数据信息;组装单元305根据所述数据请求的类型,确定对应所述数据请求的类型的真实结果信息的展现格式,按照所述真实结果信息的展现格式,对所述第一数据信息进行组装,获得第一结果信息;发送单元306向所述客户端返回所述第一结果信息。由此可以有效的制止网络访问方的恶意攻击行为。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的对象及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。