一种拦截资源请求的方法和装置制造方法

文档序号:7824147阅读:261来源:国知局
一种拦截资源请求的方法和装置制造方法
【专利摘要】本发明公开了一种拦截资源请求的方法和装置,属于计算机安全领域。所述方法包括:接收终端发送的第一资源请求,所述第一资源请求携带用户的用户标识;根据所述用户的用户标识和当前时间生成第一特征参数,向所述终端发送第一资源响应,所述第一资源响应携带所述用户的用户标识和所述第一特征参数;接收所述终端发送的第二资源请求,所述第二资源请求携带第二特征参数,所述第二特征参数为所述终端解析所述第一资源响应得到的;根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求。所述装置包括:第一接收模块,生成模块,第二接收模块和确定模块。本发明能够准确拦截程序模拟的资源请求,提高了拦截的准确性。
【专利说明】一种拦截资源请求的方法和装置

【技术领域】
[0001]本发明涉及计算机安全领域,特别涉及一种拦截资源请求的方法和装置。

【背景技术】
[0002]在互联网中,用户可以通过终端向服务器发送http (Hypertext transferprotocol,超文本传输协议)请求以请求服务器中包括的资源;然而现在很多用户不通过终端发送http请求给服务器,而是通过使用自动程序模拟http请求以请求服务器中包括的资源。例如,现在很多用户通过使用自动程序模拟http请求参加网络抢购活动等。使用终端发送http请求的用户即为合法用户,自动程序即为非法用户。服务器为了维护自身的利益,往往只允许合法用户请求其自身包括的资源,而拒绝非法用户请求其自身包括的资源。
[0003]目前,服务器可以采用如下方法拦截非法用户发送的资源请求,具体为:当用户需要获取资源时,终端向服务器发送http请求,该http请求中携带用户的用户标识。服务器接收该http请求,统计该用户发送http请求的发送频率,如果该发送频率超过预设阈值,确定用户为非法用户终端,对该http请求进行拦截。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]当用户参与网上抢购等活动时,合法用户发送http请求的频率可能会超过预设阈值,此时服务器会拦截合法用户发送的http请求,从而导致对http请求拦截发生错误。


【发明内容】

[0006]为了使解决现有技术的问题,本发明提供了一种拦截资源请求的方法和装置。技术方案如下:
[0007]一方面,本发明提供了一种拦截资源请求的方法,所述方法包括:
[0008]接收终端发送的第一资源请求,所述第一资源请求携带用户的用户标识;
[0009]根据所述用户的用户标识和当前时间生成第一特征参数,向所述终端发送第一资源响应,所述第一资源响应携带所述第一特征参数;
[0010]接收所述终端发送的第二资源请求,所述第二资源请求携带所述用户的用户标识和第二特征参数,所述第二特征参数为所述终端解析所述第一资源响应得到的;
[0011]根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求。
[0012]优选的,所述根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求,包括:
[0013]根据所述用户的用户标识,获取所述第一特征参数;
[0014]判断所述第一特征参数和所述第二特征参数是否相同;
[0015]如果相同,则确定所述用户为合法用户以及响应所述第二资源请求;
[0016]如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
[0017]优选的,所述根据所述用户的用户标识,获取所述第一特征参数,包括:
[0018]根据所述用户的用户标识,从用户标识和特征参数的对应关系中获取所述第一特征参数;或者,
[0019]根据所述用户的用户标识,从历史记录中获取所述终端发送所述第一资源请求对应的发送时间,根据所述用户的用户标识和所述发送时间,生成所述第一特征参数,所述历史记录用于存储用户标识和发送时间的对应关系;或者,
[0020]获取当前时间作为接收时间,根据所述用户的用户标识和所述接收时间,生成所述第一特征参数。
[0021 ] 优选的,所述方法还包括:
[0022]如果所述第一特征参数和所述第二特征参数相同,向所述终端发送验证请求,所述验证请求携带第一验证码;
[0023]接收所述终端发送的验证响应,所述验证响应携带第二验证码;
[0024]判断所述第一验证码和所述第二验证码是否相同;
[0025]如果相同,则确定所述用户为合法用户以及响应所述第二资源请求;
[0026]如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
[0027]优选的,所述根据所述用户的用户标识生成第一特征参数之前,还包括:
[0028]判断白名单和黑名单中是否存在所述用户的用户标识,所述白名单用于存储合法用户的用户标识,所述黑名单用于存储非法用户的用户标识;
[0029]如果所述白名单中存在,则确定所述用户为合法用户以及响应所述第一资源请求;
[0030]如果所述黑名单中存在,则确定所述用户为非法用户以及拦截所述第一资源请求;
[0031]如果所述白名单和所述黑名单中都不存在,则执行所述根据所述用户的用户标识生成第一特征参数的操作。
[0032]优选的,所述方法还包括:
[0033]如果所述白名单和所述黑名单都不存在,统计所述终端发送资源请求的发送频率;
[0034]判断所述发送频率是否超过预设阈值;
[0035]如果没有超过,则确定所述用户为合法用户以及响应所述第一资源请求;
[0036]如果超过,则执行所述根据所述用户的用户标识生成第一特征参数的操作。
[0037]另一方面,本发明提供了一种拦截资源请求的方法,所述方法包括:
[0038]向服务器发送第一资源请求,所述第一资源请求携带用户的用户标识,使所述服务器根据所述用户的用户标识生成第一特征参数;
[0039]接收所述服务器发送的第一资源响应,所述第一资源响应携带所述第一特征参数;
[0040]解析所述第一资源响应,得到第二特征参数;
[0041]向所述服务器发送第二资源请求,所述第二资源请求携带所述用户的用户标识和所述第二特征参数,使所述服务器根据所述用户的用户标识和所述第二特征参数确定是否拦截所述第二资源请求。
[0042]优选的,所述向所述服务器发送第二资源请求之后,还包括:
[0043]接收所述服务器发送的验证请求,所述验证请求携带第一验证码;
[0044]根据所述验证请求向所述服务器发送验证响应,所述验证响应携带第二验证码,使所述服务器根据所述第一验证码和所述第二验证码确定所述用户是否为合法用户以及是否拦截所述第二资源请求。
[0045]另一方面,本发明提供了一种拦截资源请求的装置,所述装置包括:
[0046]第一接收模块,用于接收终端发送的第一资源请求,所述第一资源请求携带用户的用户标识;
[0047]生成模块,用于根据所述用户的用户标识和当前时间生成第一特征参数,向所述终端发送第一资源响应,所述第一资源响应携带所述第一特征参数;
[0048]第二接收模块,用于接收所述终端发送的第二资源请求,所述第二资源请求携带所述用户的用户标识和第二特征参数,所述第二特征参数为所述终端解析所述第一资源响应得到的;
[0049]确定模块,用于根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求。
[0050]优选的,所述确定模块,包括:
[0051]获取单元,用于根据所述用户的用户标识,获取所述第一特征参数;
[0052]判断单元,用于判断所述第一特征参数和所述第二特征参数是否相同;
[0053]第一确定单元,用于如果相同,则确定所述用户为合法用户以及响应所述第二资源请求;
[0054]第二确定单元,用于如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
[0055]优选的,所述获取单元,用于根据所述用户的用户标识,从用户标识和特征参数的对应关系中获取所述第一特征参数;或者,
[0056]所述获取单元,用于根据所述用户的用户标识,从历史记录中获取所述终端发送所述第一资源请求对应的发送时间,根据所述用户的用户标识和所述发送时间,生成所述第一特征参数,所述历史记录用于存储用户标识和发送时间的对应关系;或者,
[0057]所述获取单元,用于获取当前时间作为接收时间,根据所述用户的用户标识和所述接收时间,生成所述第一特征参数。
[0058]优选的,所述装置还包括:
[0059]第一发送模块,用于如果所述第一特征参数和所述第二特征参数相同,向所述终端发送验证请求,所述验证请求携带第一验证码;
[0060]第三接收模块,用于接收所述终端发送的验证响应,所述验证响应携带第二验证码;
[0061]第一判断模块,用于判断所述第一验证码和所述第二验证码是否相同;
[0062]第一响应模块,用于如果相同,则确定所述用户为合法用户以及响应所述第二资源请求;
[0063]第一拦截模块,用于如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
[0064]优选的,所述装置还包括:
[0065]第二判断模块,用于判断白名单和黑名单中是否存在所述用户的用户标识,所述白名单用于存储合法用户的用户标识,所述黑名单用于存储非法用户的用户标识;
[0066]第二响应模块,用于如果所述白名单中存在,则确定所述用户为合法用户以及响应所述第一资源请求;
[0067]第二拦截模块,用于如果所述黑名单中存在,则确定所述用户为非法用户以及拦截所述第一资源请求;
[0068]如果所述白名单和所述黑名单中都不存在,则执行所述生成模块,用于根据所述用户的用户标识生成第一特征参数。
[0069]优选的,所述装置还包括:
[0070]统计模块,用于如果所述白名单和所述黑名单都不存在,统计所述终端发送资源请求的发送频率;
[0071]第三判断模块,用于判断所述发送频率是否超过预设阈值;
[0072]第三响应模块,用于如果没有超过,则确定所述用户为合法用户以及响应所述第一资源请求;
[0073]如果超过,则执行所述生成模块,用于根据所述用户的用户标识生成第一特征参数。
[0074]另一方面,本发明提供了一种拦截资源请求的装置,所述装置包括:
[0075]第二发送模块,用于向服务器发送第一资源请求,所述第一资源请求携带用户的用户标识,使所述服务器根据所述用户的用户标识生成第一特征参数;
[0076]第四接收模块,用于接收所述服务器发送的第一资源响应,所述第一资源响应携带所述第一特征参数;
[0077]解析模块,用于解析所述第一资源响应,得到第二特征参数;
[0078]第三发送模块,用于向所述服务器发送第二资源请求,所述第二资源请求携带所述用户的用户标识和所述第二特征参数,使所述服务器根据所述用户的用户标识和所述第二特征参数确定是否拦截所述第二资源请求。
[0079]优选的,所述装置还包括:
[0080]第五接收模块,用于接收所述服务器发送的验证请求,所述验证请求携带第一验证码;
[0081]第四发送模块,用于根据所述验证请求向所述服务器发送验证响应,所述验证响应携带第二验证码,使所述服务器根据所述第一验证码和所述第二验证码确定所述用户是否为合法用户以及是否拦截所述第二资源请求。
[0082]在本发明实施例中,服务器接收终端发送的第一资源请求,根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;终端解析第一资源响应得到第二特征参数,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。由于只有终端能够解析第一资源响应,而自动程序无法解析第一资源响应,从而根据用户标识和第二特征参数确定是否拦截第二资源请求,能够准确拦截自动程序模拟的资源请求,提高了拦截的准确性。

【专利附图】

【附图说明】
[0083]图1-1是本发明实施例1提供的一种拦截资源请求的方法流程图;
[0084]图1-2是本发明实施例1提供的一种拦截资源请求的方法流程图;
[0085]图2是本发明实施例2提供的一种拦截资源请求的方法流程图;
[0086]图3是本发明实施例3提供的一种拦截资源请求的装置结构示意图;
[0087]图4是本发明实施例4提供的一种拦截资源请求的另一装置结构示意图。

【具体实施方式】
[0088]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0089]实施例1
[0090]本发明实施例提供了一种拦截资源请求的方法,该方法的执行主体为服务器,参见图1-1,其中,该方法包括:
[0091]步骤1la:接收终端发送的第一资源请求,该第一资源请求携带用户的用户标识;
[0092]步骤102a:根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,第一资源响应携带第一特征参数;
[0093]步骤103a:接收终端发送的第二资源请求,第二资源请求携带用户的用户标识和第二特征参数,第二特征参数为终端解析第一资源响应得到的;
[0094]步骤104a:根据用户的用户标识和第二特征参数,确定是否拦截第二资源请求。
[0095]本发明实施例提供了一种拦截资源请求的方法,该方法的执行主体为终端,参见图1-2,其中,该方法包括:
[0096]步骤1lb:向服务器发送第一资源请求,该第一资源请求携带用户的用户标识,使服务器根据用户的用户标识生成第一特征参数;
[0097]步骤102b:接收服务器发送的第一资源响应,该第一资源响应携带第一特征参数;
[0098]步骤103b:解析第一资源响应,得到第二特征参数;
[0099]步骤104b:向服务器发送第二资源请求,第二资源请求携带用户的用户标识和第二特征参数,使服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。
[0100]在本发明实施例中,服务器接收终端发送的第一资源请求,根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;终端解析第一资源响应得到第二特征参数,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。由于只有终端能够解析第一资源响应,而自动程序无法解析第一资源响应,从而根据用户标识和第二特征参数确定是否拦截第二资源请求,能够准确拦截自动程序模拟的资源请求,提高了拦截的准确性。
[0101]实施例2
[0102]本发明实施例提供了一种拦截资源请求的方法。
[0103]用户可以通过终端向服务器发送资源请求以请求服务器中包括的资源,然而现在很多用户为了能够提高获取资源的效率,不亲自手动通过浏览器发送资源请求给服务器,而是通过使用安装在终端上的自动程序模拟用户发送资源请求以请求服务器中包括的资源。例如,当用户参加网上抢购活动时,用户为了能够尽早抢购到商品,用户通过使用抢购程序向服务器发送资源请求。由于自动程序发送资源请求的速度远远快于用户手动发送资源请求,用户手动发送一条资源请求,自动程序可能发送几十条甚至数百条资源请求,如此不仅增加服务器的负担,也对用户来说不公平,因此在服务器中需要通过本发明实施例提供的拦截资源请求的方法来拦截自动程序模拟的资源请求。
[0104]参见图2,其中,该方法包括:
[0105]步骤201:终端向服务器发送第一资源请求,该第一资源请求携带用户的用户标识;
[0106]当用户想要从服务器中请求资源时,终端向服务器发送第一资源请求,该第一资源请求除了携带用户的用户标识外,还可以携带该用户请求的资源的资源标识等。
[0107]在本发明实施例中,用户标识可以为用户使用终端的IP(Internet Protocol,网络之间互连的协议)地址或MAC(Media Access Control,介质访问控制)地址;或者用户标识可以为根据终端的IP地址或MAC地址进行哈希运算得到的哈希值或md5 (MessageDigest Algorithm MD5,消息摘要算法第五版)值等。
[0108]步骤202:服务器接收终端发送的第一资源请求,判断白名单和黑名单中是否存在用户的用户标识;如果白名单和黑名单中都不存在,执行步骤203 ;
[0109]其中,白名单用于存储合法用户的用户标识,黑名单用于存储非法用户的用户标识;如果白名单中存在该用户的用户标识,则确定该用户为合法用户以及响应第一资源请求。如果黑名单中存在该用户的用户标识,则确定该用户为非法用户以及拦截第一资源请求。
[0110]合法用户为使用终端向服务器发送资源请求的用户,非法用户为自动程序。响应资源请求可以为根据资源的资源标识获取资源,向终端发送资源;拦截资源请求可以为拒绝终端的资源请求,并将用户的用户标识添加到黑名单中。
[0111]进一步地,服务器周期性地从黑名单中获取非法用户的用户标识,将非法用户的用户标识加入防火墙模块,当接收到携带非法用户的用户标识的资源请求时,直接拦截携带非法用户的用户标识的资源请求。
[0112]如果白名单和黑名单中都不存在,执行以下步骤继续确定用户是否为合法用户。
[0113]步骤203:服务器统计终端发送资源请求的发送频率,如果发送频率超过预设阈值,执行步骤204 ;
[0114]服务器统计终端发送资源请求的发送频率,判断发送频率是否超过预设阈值;如果发送频率没有超过预设阈值,则确定用户为合法用户以及响应第一资源请求;如果发送频率超过预设阈值,则执行步骤204。
[0115]其中,服务器统计终端发送资源请求的发送频率的步骤可以为:
[0116]服务器统计终端在离当前时间最近的预设时长内发送资源请求的发送个数,计算发送个数与预设时间端的比值,将该比值作为终端发送资源请求的发送频率。
[0117]由于合法用户亲自通过终端的浏览器向服务器发送资源请求,因此,合法用户向服务器发送资源请求的频率一般不会太大;而非法用户为了提高发送频率,通过自动程序模拟资源请求向服务器发送资源请求,该发送频率一般会很大。因此,如果发送频率没有超过预设阈值,则确定用户为合法用户以及响应第一资源请求。然而如果发送频率超过预设阈值,并不能确定确定用户是非法用户,继续通过以下步骤验证用户是否为合法用户。
[0118]预设时长和预设阈值都可以根据需要进行设置并更改,在本发明实施例中对预设时长和预设阈值不作具体限定,例如,预设时长为10分钟,预设阈值为100次/秒。
[0119]步骤204:服务器根据用户的用户标识生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;
[0120]如果发送频率超过预设阈值,服务器获取当前时间,根据用户的用户标识和当前时间,生成第一特征参数。
[0121]其中,服务器根据用户的用户标识和当前时间,生成第一特征参数的步骤可以通过第一种方式或者第二种方式实现,对于第一种实现方式,可以为:
[0122]服务器将用户的用户标识和当前时间组成第一特征参数。
[0123]对于第二种实现方式,可以为:
[0124]服务器根据当前时间生成第一时间因子,将用户的用户标识和第一时间因子组成第一特征参数。
[0125]其中,服务器计算第一时间与预设数值的整数商,将该整数商作为第一时间因子。
[0126]例如,第一时间为126,预设数值为5,计算第一时间:126与预设数值:5的整数商为25,将25作为第一时间因子,并将用户的用户标识和25组成第一特征参数。
[0127]进一步地,服务器将用户的用户标识和第一特征参数存储到用户标识和特征参数的对应关系中。服务器可以根据用户的用户标识,从用户标识和特征参数的对应关系中获取第一特征参数。
[0128]进一步地,服务器也可以将用户的用户标识和第一时间的对应关系添加到历史记录中。服务器可以根据用户的用户标识,从历史记录中获取第一时间。
[0129]服务器将第一特征参数添加到cookie中,将cookie添加到第一资源响应中。预设数值可以根据需要进行设置并更改,例如预设数值可以为5或者6等。
[0130]步骤205:终端接收服务器发送的第一资源响应,解析第一资源响应得到第二特征参数;
[0131]需要说明的是,只有终端的浏览器能够解析第一资源响应得到第二特征参数;自动程序和浏览器的处理逻辑不同,自动程序并不会解析服务器发送的第一资源响应。
[0132]步骤206:终端向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;
[0133]如果用户是合法的用户,终端上的浏览器会解析第一资源响应得到第二特征参数,将第二特征参数添加到第二资源请求中,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数。
[0134]如果用户是非法用户,由于自动程序和浏览器的处理逻辑不同,自动程序并不会解析服务器发送的第一资源响应。因此,自动程序发送的第二资源请求中仅携带用户的用户标识,并不携带第二特征参数,或者自动程序发送的第二资源请求中携带用户的用户标识和第二特征参数,但是第二资源请求中携带的第二特征参数和服务器生成的第一特征参数不相同。
[0135]步骤207:服务器接收终端发送的第二资源请求,根据用户的用户标识获取第一特征参数,并判断第一特征参数和第二特征参数是否相同,如果相同,向终端发送验证请求,该验证请求携带第一验证码;
[0136]服务器从第二资源请求中获取第二特征参数,根据用户的用户标识获取第一特征参数,判断第一特征参数和第二特征参数是否相同,如果相同,向终端发送验证请求,该验证请求携带第一验证码,继续验证用户是否为合法用户。如果不相同,确定用户为非法用户以及拦截第二资源请求,并将用户的用户标识添加到黑名单中。
[0137]服务器根据用户的用户标识,获取第一特征参数的步骤可以通过以下第一种、第二种方式或者第三种方式实现,对于第一种实现方式,可以为:
[0138]根据用户的用户标识,从用户标识和特征参数的对应关系中获取第一特征参数。
[0139]对于第二种实现方式,可以为:
[0140]根据用户的用户标识,从历史记录中获取终端发送第一资源请求对应的发送时间,根据用户的用户标识和发送时间,生成第一特征参数,历史记录用于存储用户标识和发送时间的对应关系。
[0141]其中,历史记录中存储用户标识和发送时间的对应关系,根据用户的用户标识从历史记录中获取至少一个资源请求对应的发送时间,从获取的至少一个发送时间中选择离当前时间最近的发送时间,将选择的发送时间确定为第一资源请求对应的发送时间。
[0142]对于第三种实现方式,可以为:
[0143]获取当前时间作为接收时间,根据用户的用户标识和接收时间,生成第一特征参数。
[0144]其中,根据用户的用户标识和接收时间,生成第一特征参数的步骤可以为:
[0145]根据接收时间生成第二时间因子,将用户标识和第二时间因子组成第一特征参数。
[0146]服务器计算第二时间与预设数值的整数商,将该整数商作为第二时间因子。
[0147]需要说明的是,预设数值为第一特征参数失效时间,如果第二时间和第一时间之间的差值大于预设数值时,第一时间与预设数值的整数商和第二时间和预设数值的整数商不相同,也即第一时间因子和第二时间因子不相同,也即第二资源请求中携带的第二特征参数和生成的第一特征参数不相同,也即第二资源请求中携带的第二特征参数已经失效,服务器确定用户为非法用户以及拦截第二资源请求。
[0148]如果第二时间和第一时间之间的差值不大于预设数值时,第一时间与预设数值的整数商和第二时间和预设数值的整数商相同,也即第一时间因子和第二时间因子相同,也即第二资源请求中携带的第二特征参数和生成的第一特征参数相同,也即第二资源请求中携带的第二特征参数没有失效,服务器向终端发送验证请求,进一步地对终端进行验证。
[0149]进一步地,服务器确定第一特征参数和第二特征参数相同时,可以不执行向终端发送验证请求的步骤,直接确定用户为合法用户以及响应第二资源请求,并将用户的用户标识添加到白名单中。
[0150]进一步地,服务器向终端发送验证请求之后,将用户的用户标识和第一验证码存储在用户标识和验证码的对应关系中;从而服务器可以根据用户标识,从用户标识和验证码的对应关系中获取第一验证码。
[0151]进一步地,如果第二资源请求中不携带第二特征参数,则确定用户为非法用户以及拦截第二资源请求,并将用户的用户标识添加到黑名单中。
[0152]步骤208:终端接收服务器发送的验证请求,向服务器发送验证响应,该验证响应携带第二验证码;
[0153]终端从验证请求中获取第一验证码,将第一验证码加载到验证界面中;显示验证界面;用户根据第一验证码输入第二验证码给终端;终端获取用户输入的第二验证码,并向服务器发送验证响应,该验证响应携带第二验证码。
[0154]步骤209:服务器接收终端发送的验证响应,根据第一验证码和第二验证码确定是否拦截第二资源请求。
[0155]服务器从验证响应中获取第二验证码,并根据用户标识,从用户标识和验证码的对应关系中获取第一验证码;比对第一验证码和第二验证码是否相同;如果相同,则确定用户为合法用户以及响应第二资源请求,并将用户的用户标识添加到白名单中;如果不相同,则确定用户为非法用户以及拦截第二资源请求,并将用户的用户标识添加到黑名单中。
[0156]进一步地,服务器可以向终端发送多个验证请求,并接收终端分别对多个验证请求发送的验证响应,统计验证响应的正确率,判断正确率是否超过预设比率,如果超过,则确定用户为合法用户以及响应第二资源请求,并将用户的用户标识添加到白名单中;如果没有超过,则确定用户为非法用户以及拦截第二资源请求,并将用户的用户标识添加到黑名单中。
[0157]预设比率可以根据需要进行设置并更改,如预设比例为95%等。
[0158]需要说明的是,由于用户可能在某一段时间内使用自动程序模拟资源请求以从服务器中请求资源,例如,参见网上抢购活动时,使用自动程序模拟资源请求,而过一段时间网上抢购活动结束时,用户正常使用终端向服务器发送资源请求,因此,服务器周期性的清空黑名单,从而能够避免影响合法用户的资源请求。
[0159]在本发明实施例中,服务器接收终端发送的第一资源请求,根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;终端解析第一资源响应得到第二特征参数,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。由于只有终端能够解析第一资源响应,而自动程序无法解析第一资源响应,从而根据用户标识和第二特征参数确定是否拦截第二资源请求,能够准确拦截自动程序模拟的资源请求,提高了拦截的准确性。
[0160]实施例3
[0161]本发明实施例提供了一种拦截资源请求的装置,参见图3,该装置包括:
[0162]第一接收模块301,用于接收终端发送的第一资源请求,第一资源请求携带用户的用户标识;
[0163]生成模块302,用于根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,第一资源响应携带第一特征参数;
[0164]第二接收模块303,用于接收终端发送的第二资源请求,第二资源请求携带用户的用户标识和第二特征参数,第二特征参数为终端解析第一资源响应得到的;
[0165]确定模块304,用于根据用户的用户标识和第二特征参数,确定是否拦截第二资源请求。
[0166]优选的,确定模块304,包括:
[0167]获取单元,用于根据用户的用户标识,获取第一特征参数;
[0168]判断单元,用于判断第一特征参数和第二特征参数是否相同;
[0169]第一确定单元,用于如果相同,则确定用户为合法用户以及响应第二资源请求;
[0170]第二确定单元,用于如果不相同,则确定用户为非法用户以及拦截第二资源请求。
[0171]优选的,获取单元,用于根据用户的用户标识,从用户标识和特征参数的对应关系中获取第一特征参数;或者,
[0172]获取单元,用于根据用户的用户标识,从历史记录中获取终端发送第一资源请求对应的发送时间,根据用户的用户标识和发送时间,生成第一特征参数,历史记录用于存储用户标识和发送时间的对应关系;或者,
[0173]获取单元,用于获取当前时间作为接收时间,根据用户的用户标识和接收时间,生成第一特征参数。
[0174]优选的,装置还包括:
[0175]第一发送模块,用于如果第一特征参数和第二特征参数相同,向终端发送验证请求,验证请求携带第一验证码;
[0176]第三接收模块,用于接收终端发送的验证响应,验证响应携带第二验证码;
[0177]第一判断模块,用于判断第一验证码和第二验证码是否相同;
[0178]第一响应模块,用于如果相同,则确定用户为合法用户以及响应第二资源请求;
[0179]第一拦截模块,用于如果不相同,则确定用户为非法用户以及拦截第二资源请求。
[0180]优选的,装置还包括:
[0181]第二判断模块,用于判断白名单和黑名单中是否存在用户的用户标识,白名单用于存储合法用户的用户标识,黑名单用于存储非法用户的用户标识;
[0182]第二响应模块,用于如果白名单中存在,则确定用户为合法用户以及响应第一资源请求;
[0183]第二拦截模块,用于如果黑名单中存在,则确定用户为非法用户以及拦截第一资源请求;
[0184]如果白名单和黑名单中都不存在,则执行生成模块302,用于根据用户的用户标识生成第一特征参数。
[0185]优选的,装置还包括:
[0186]统计模块,用于如果白名单和黑名单都不存在,统计终端发送资源请求的发送频率;
[0187]第三判断模块,用于判断发送频率是否超过预设阈值;
[0188]第三响应模块,用于如果没有超过,则确定用户为合法用户以及响应第一资源请求;
[0189]如果超过,则执行生成模块302,用于根据用户的用户标识生成第一特征参数。
[0190]在本发明实施例中,服务器接收终端发送的第一资源请求,根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;终端解析第一资源响应得到第二特征参数,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。由于只有终端能够解析第一资源响应,而自动程序无法解析第一资源响应,从而根据用户标识和第二特征参数确定是否拦截第二资源请求,能够准确拦截自动程序模拟的资源请求,提高了拦截的准确性。
[0191]实施例4
[0192]本发明实施例提供了一种拦截资源请求的装置,参见图4,其中,该装置包括:
[0193]第二发送模块401,用于向服务器发送第一资源请求,第一资源请求携带用户的用户标识,使服务器根据用户的用户标识生成第一特征参数;
[0194]第四接收模块402,用于接收服务器发送的第一资源响应,第一资源响应携带第一特征参数;
[0195]解析模块403,用于解析第一资源响应,得到第二特征参数;
[0196]第三发送模块404,用于向服务器发送第二资源请求,第二资源请求携带用户的用户标识和第二特征参数,使服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。
[0197]优选的,装置还包括:
[0198]第五接收模块,用于接收服务器发送的验证请求,验证请求携带第一验证码;
[0199]第四发送模块,用于根据验证请求向服务器发送验证响应,验证响应携带第二验证码,使服务器根据第一验证码和第二验证码确定用户是否为合法用户以及是否拦截第二资源请求。
[0200]在本发明实施例中,服务器接收终端发送的第一资源请求,根据用户的用户标识和当前时间生成第一特征参数,向终端发送第一资源响应,该第一资源响应携带第一特征参数;终端解析第一资源响应得到第二特征参数,向服务器发送第二资源请求,该第二资源请求携带用户的用户标识和第二特征参数;服务器根据用户的用户标识和第二特征参数确定是否拦截第二资源请求。由于只有终端能够解析第一资源响应,而自动程序无法解析第一资源响应,从而根据用户标识和第二特征参数确定是否拦截第二资源请求,能够准确拦截自动程序模拟的资源请求,提高了拦截的准确性。
[0201]需要说明的是:上述实施例提供的拦截资源请求的装置在拦截资源请求时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的拦截资源请求的装置与拦截资源请求的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0202]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0203]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种拦截资源请求的方法,其特征在于,所述方法包括: 接收终端发送的第一资源请求,所述第一资源请求携带用户的用户标识; 根据所述用户的用户标识和当前时间生成第一特征参数,向所述终端发送第一资源响应,所述第一资源响应携带所述第一特征参数; 接收所述终端发送的第二资源请求,所述第二资源请求携带所述用户的用户标识和第二特征参数,所述第二特征参数为所述终端解析所述第一资源响应得到的; 根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求。
2.如权利要求1所述的方法,其特征在于,所述根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求,包括: 根据所述用户的用户标识,获取所述第一特征参数; 判断所述第一特征参数和所述第二特征参数是否相同; 如果相同,则确定所述用户为合法用户以及响应所述第二资源请求; 如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
3.如权利要求2所述的方法,其特征在于,所述根据所述用户的用户标识,获取所述第一特征参数,包括: 根据所述用户的用户标识,从用户标识和特征参数的对应关系中获取所述第一特征参数;或者, 根据所述用户的用户标识,从历史记录中获取所述终端发送所述第一资源请求对应的发送时间,根据所述用户的用户标识和所述发送时间,生成所述第一特征参数,所述历史记录用于存储用户标识和发送时间的对应关系;或者, 获取当前时间作为接收时间,根据所述用户的用户标识和所述接收时间,生成所述第一特征参数。
4.如权利要求2所述的方法,其特征在于,所述方法还包括: 如果所述第一特征参数和所述第二特征参数相同,向所述终端发送验证请求,所述验证请求携带第一验证码; 接收所述终端发送的验证响应,所述验证响应携带第二验证码; 判断所述第一验证码和所述第二验证码是否相同; 如果相同,则确定所述用户为合法用户以及响应所述第二资源请求; 如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
5.如权利要求1所述的方法,其特征在于,所述根据所述用户的用户标识生成第一特征参数之前,还包括: 判断白名单和黑名单中是否存在所述用户的用户标识,所述白名单用于存储合法用户的用户标识,所述黑名单用于存储非法用户的用户标识; 如果所述白名单中存在,则确定所述用户为合法用户以及响应所述第一资源请求; 如果所述黑名单中存在,则确定所述用户为非法用户以及拦截所述第一资源请求;如果所述白名单和所述黑名单中都不存在,则执行所述根据所述用户的用户标识生成第一特征参数的操作。
6.如权利要求5所述的方法,其特征在于,所述方法还包括: 如果所述白名单和所述黑名单都不存在,统计所述终端发送资源请求的发送频率; 判断所述发送频率是否超过预设阈值; 如果没有超过,则确定所述用户为合法用户以及响应所述第一资源请求; 如果超过,则执行所述根据所述用户的用户标识生成第一特征参数的操作。
7.一种拦截资源请求的方法,其特征在于,所述方法包括: 向服务器发送第一资源请求,所述第一资源请求携带用户的用户标识,使所述服务器根据所述用户的用户标识生成第一特征参数; 接收所述服务器发送的第一资源响应,所述第一资源响应携带所述第一特征参数; 解析所述第一资源响应,得到第二特征参数; 向所述服务器发送第二资源请求,所述第二资源请求携带所述用户的用户标识和所述第二特征参数,使所述服务器根据所述用户的用户标识和所述第二特征参数确定是否拦截所述第二资源请求。
8.如权利要求7所述的方法,其特征在于,所述向所述服务器发送第二资源请求之后,还包括: 接收所述服务器发送的验证请求,所述验证请求携带第一验证码; 根据所述验证请求向所述服务器发送验证响应,所述验证响应携带第二验证码,使所述服务器根据所述第一验证码和所述第二验证码确定所述用户是否为合法用户以及是否拦截所述第二资源请求。
9.一种拦截资源请求的装置,其特征在于,所述装置包括: 第一接收模块,用于接收终端发送的第一资源请求,所述第一资源请求携带用户的用户标识; 生成模块,用于根据所述用户的用户标识和当前时间生成第一特征参数,向所述终端发送第一资源响应,所述第一资源响应携带所述第一特征参数; 第二接收模块,用于接收所述终端发送的第二资源请求,所述第二资源请求携带所述用户的用户标识和第二特征参数,所述第二特征参数为所述终端解析所述第一资源响应得到的; 确定模块,用于根据所述用户的用户标识和所述第二特征参数,确定是否拦截所述第二资源请求。
10.如权利要求9所述的装置,其特征在于,所述确定模块,包括: 获取单元,用于根据所述用户的用户标识,获取所述第一特征参数; 判断单元,用于判断所述第一特征参数和所述第二特征参数是否相同; 第一确定单元,用于如果相同,则确定所述用户为合法用户以及响应所述第二资源请求; 第二确定单元,用于如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
11.如权利要求10所述的装置,其特征在于, 所述获取单元,用于根据所述用户的用户标识,从用户标识和特征参数的对应关系中获取所述第一特征参数;或者, 所述获取单元,用于根据所述用户的用户标识,从历史记录中获取所述终端发送所述第一资源请求对应的发送时间,根据所述用户的用户标识和所述发送时间,生成所述第一特征参数,所述历史记录用于存储用户标识和发送时间的对应关系;或者, 所述获取单元,用于获取当前时间作为接收时间,根据所述用户的用户标识和所述接收时间,生成所述第一特征参数。
12.如权利要求10所述的装置,其特征在于,所述装置还包括: 第一发送模块,用于如果所述第一特征参数和所述第二特征参数相同,向所述终端发送验证请求,所述验证请求携带第一验证码; 第三接收模块,用于接收所述终端发送的验证响应,所述验证响应携带第二验证码; 第一判断模块,用于判断所述第一验证码和所述第二验证码是否相同; 第一响应模块,用于如果相同,则确定所述用户为合法用户以及响应所述第二资源请求; 第一拦截模块,用于如果不相同,则确定所述用户为非法用户以及拦截所述第二资源请求。
13.如权利要求9所述的装置,其特征在于,所述装置还包括: 第二判断模块,用于判断白名单和黑名单中是否存在所述用户的用户标识,所述白名单用于存储合法用户的用户标识,所述黑名单用于存储非法用户的用户标识; 第二响应模块,用于如果所述白名单中存在,则确定所述用户为合法用户以及响应所述第一资源请求; 第二拦截模块,用于如果所述黑名单中存在,则确定所述用户为非法用户以及拦截所述第一资源请求; 如果所述白名单和所述黑名单中都不存在,则执行所述生成模块,用于根据所述用户的用户标识生成第一特征参数。
14.如权利要求13所述的装置,其特征在于,所述装置还包括: 统计模块,用于如果所述白名单和所述黑名单都不存在,统计所述终端发送资源请求的发送频率; 第三判断模块,用于判断所述发送频率是否超过预设阈值; 第三响应模块,用于如果没有超过,则确定所述用户为合法用户以及响应所述第一资源请求; 如果超过,则执行所述生成模块,用于根据所述用户的用户标识生成第一特征参数。
15.一种拦截资源请求的装置,其特征在于,所述装置包括: 第二发送模块,用于向服务器发送第一资源请求,所述第一资源请求携带用户的用户标识,使所述服务器根据所述用户的用户标识生成第一特征参数; 第四接收模块,用于接收所述服务器发送的第一资源响应,所述第一资源响应携带所述第一特征参数; 解析模块,用于解析所述第一资源响应,得到第二特征参数; 第三发送模块,用于向所述服务器发送第二资源请求,所述第二资源请求携带所述用户的用户标识和所述第二特征参数,使所述服务器根据所述用户的用户标识和所述第二特征参数确定是否拦截所述第二资源请求。
16.如权利要求15所述的装置,其特征在于,所述装置还包括: 第五接收模块,用于接收所述服务器发送的验证请求,所述验证请求携带第一验证码; 第四发送模块,用于根据所述验证请求向所述服务器发送验证响应,所述验证响应携带第二验证码,使所述服务器根据所述第一验证码和所述第二验证码确定所述用户是否为合法用户以及是否拦截所述第二资源请求。
【文档编号】H04L29/06GK104519069SQ201410834722
【公开日】2015年4月15日 申请日期:2014年12月27日 优先权日:2014年12月27日
【发明者】李奇, 韩方 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1