CN104519018A - 一种防止针对服务器的恶意请求的方法、装置和系统 - Google Patents

一种防止针对服务器的恶意请求的方法、装置和系统 Download PDF

Info

Publication number
CN104519018A
CN104519018A CN201310455061.2A CN201310455061A CN104519018A CN 104519018 A CN104519018 A CN 104519018A CN 201310455061 A CN201310455061 A CN 201310455061A CN 104519018 A CN104519018 A CN 104519018A
Authority
CN
China
Prior art keywords
network request
user
network
request
checking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310455061.2A
Other languages
English (en)
Other versions
CN104519018B (zh
Inventor
范洪涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310455061.2A priority Critical patent/CN104519018B/zh
Publication of CN104519018A publication Critical patent/CN104519018A/zh
Application granted granted Critical
Publication of CN104519018B publication Critical patent/CN104519018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请涉及一种防止针对服务器的恶意请求的方法、装置和系统。该方法包括:对接收的第一网络请求进行第一验证,并返回第一验证的验证结果及生成的会话令牌至发送第一网络请求的用户端的cookie中;对接收到的第二网络请求携带的验证结果和会话令牌等做第二验证,若验证通过则响应第二网络请求做相应业务数据处理,否则,验证未通过则拦截第二网络请求。本申请在恶意请求验证过程中实时的更新黑名单用户数据表,并对发送恶意请求的用户进行黑名单用户标记。以及基于用户获得的会话令牌对用户发送的网络请求(第二网络请求)进行业务处理。从而有效的降低了恶意请求的误判率和漏判率,提高了恶意请求判断的准确性。

Description

一种防止针对服务器的恶意请求的方法、装置和系统
技术领域
[0001] 本申请涉及互联网技术领域,更具体地涉及一种防止针对服务器的恶意请求的方 法、装置和系统。
背景技术
[0002] 随着互联网的高速发展,网络恶意行为已经成为业界不可忽视的问题。网络恶意 行为可以是为达到一定目的而采取的非正常手段,如,网络攻击、恶意请求等。在网络环境 中,网络恶意行为可以在极短的时间内致使网站不能正常为用户提供服务,这严重影响了 互联网的正常运作。
[0003] 恶意请求,可以是通过应用程序,在一段时间内,不断的向服务器发送的、并影响 服务器正常运作的超文本传输协议(http)网络请求。例如,通过这种方式干扰正常用户的 网络行为或者以此攻击一个web网站。由于这些请求非常密集,给服务器造成了巨大的压 力。
[0004] Web网站向用户提供服务,可以采用两层服务器作为支撑,如图1所示为现有技术 的web网站服务器架构示意图。
[0005] 在该web网站中包含多个web服务器(第一层服务器)和多个可以处理不同业务 数据的应用服务器(第二层服务器)。其中,每个web服务器可以接收来自用户的网络请 求,并将该网络请求转发给该网络请求对应的应用服务器。每个应用服务器可以处理不同 的业务数据,例如,在某一个提供BBS论坛服务的网站中,应用服务器A用于处理论坛中"计 算机板块"相关的数据,应用服务器B用于处理论坛中"通信板块"相关的数据等。应用服 务器可以将处理好的数据返回给转发该网络请求的web服务器,并由该web服务器将处理 好的数据返回用户。
[0006] 在现有技术中,web网站为了应对恶意请求给服务器和/或用户带来的问题,可以 通过web服务器或应用服务器对恶意请求进行拦截。
[0007] 方法一:采用web服务器拦截恶意请求,可以开发web服务器侧的插件,通过该插 件分析来自用户的网络请求。若分析结果触发了某一拦截条件,例如:该用户的访问频度超 过了预设的阈值(该阈值是正常用户无法达到的一个值),则可以拦截该网络请求。对于非 恶意请求则可以传递给应用服务器进行相应的业务处理。
[0008] 但是,采用方法一对恶意请求进行拦截的准确性不高,容易造成误判。因为,现有 技术的web服务器不能解析用户信息。并且,用户是通过运营商所在的服务器,例如,通过 电信服务器或网通服务器,将网络请求发送至web服务器,这样,同一地区内的大量用户的 IP地址可能相同。从而,对于恶意请求,web服务器不能定位到用户,只能确定大致范围(地 区),容易对该范围内的未发送恶意请求的用户造成误判。例如,某一范围内的访问量较大, 并且该访问量恰巧达到预设的阈值,对该范围内的用户所发送的网络请求进行拦截,则会 影响该地区内未发送网络请求的用户进行正常的使用。
[0009] 方法二:采用应用服务器拦截恶意请求,对于web服务器转发的网络请求,可以在 处理业务数据之前对发送网络请求的用户进行身份验证,例如,进行黑名单检查,查看该用 户是否有发送恶意请求的不良记录,若存在不良记录则可以限制正常的业务流程,对用户 的网络请求进行拦截。该黑名单检查可以通过预先对大量的用户数据进行分析,找出发送 恶意请求的用户,并列入黑名单中。该方法可以通过黑名单检查的方式减少误判。
[0010] 但是,该方法二所生成的黑名单不能实时的对恶意请求进行拦截。因为,黑名单是 通过对一段时间内的用户数据进行分析而得出,并更新之前的黑名单。对于新增的发送恶 意请求的用户,即,尚未加入黑名单的用户,会造成大量的漏判,影响服务器的正常工作以 及其他用户正常使用。
发明内容
[0011] 本申请的主要目的在于提供一种防止针对服务器的恶意请求的方法、装置和系 统,以解决现有技术存在的网络恶意请求的判断方法准确性低,误判率和漏判率高的问题。
[0012] 根据本申请的一方面,提供了一种防止针对服务器的恶意请求的方法,包括:接收 第一网络请求,并对第一网络请求进行第一验证;将所述第一验证的验证结果及基于第一 网络请求生成的会话令牌返回至发送第一网络请求的用户端的cookie中;所述第一验证 的验证结果用于标识发送第一网络请求的用户端是否通过验证;所述会话令牌用于标识用 户对基于第一网络请求获取的页面数据进行操作的权限;接收第二网络请求,对接收到的 第二网络请求进行第二验证;其中,第一网络请求为页面数据请求,第二网络请求为用户基 于第一网络请求获取的页面数据进行操作而发出的数据处理请求;第二网络请求携带所述 第一验证的验证结果及会话令牌;所述第二验证包括:验证所述第二网络请求携带的所述 第一验证的验证结果及会话令牌,以及当所述第二网络请求携带的所述第一验证的验证结 果及会话令牌通过验证时,验证发送第二网络请求的用户信息是否在预设的黑名单中;若 所述第二网络请求验证通过,则针对所述第二网络请求进行相应业务数据处理;若所述第 二网络请求验证未通过,则拦截所述第二网络请求。
[0013] 其中,所述第二网络请求验证未通过,包括:所述第二网络请求携带的所述第一验 证的验证结果中包括黑名单用户标记,和/或所述第二网络请求携带的所述会话令牌不合 法,和/或所述第二请网络请求不存在会话令牌,和/或所述第二网络请求的用户信息与 预设的黑名单中的黑名单信息相匹配。
[0014] 其中,所述第二网络请求验证未通过,还包括:当所述第二网络请求携带的会话令 牌不合法时,和/或,当所述第二网络请求不存在会话令牌时,将所述第二验证的验证结果 返回至发送所述第二网络请求的用户端的cookie中,以根据所述第二验证的验证结果,为 发送所述第二网络请求的用户添加黑名单用户标记。
[0015] 其中,对所述第一网络请求进行第一验证,至少包括:验证所述第一网络请求是否 包含的黑名单用户标记;和/或;验证发送所述第一网络请求的用户上一次发送第一网络 请求与本次发送第一网络请求的时间间隔,是否大于预设的时间间隔阈值;和/或,验证发 送所述第一网络请求的用户在预定时间段内发送第一网络请求的次数,是否等于预设的请 求次数阈值;和/或,将所述第一网络请求中包含的用户信息与所述预设的黑名单中的黑 名单信息进行匹配。
[0016] 其中,所述第一网络请求验证未通过,包括:所述第一网络请求中包含黑名单用户 标记;和/或发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络 请求的时间间隔,小于或等于预设的时间间隔阈值;和/或发送所述第一网络请求的用户 在预定时间段内发送第一网络请求的次数,等于预设的请求次数阈值;和/或所述第一网 络请求中包含的用户信息与预设的黑名单中的黑名单信息相匹配。
[0017] 其中,当发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一 网络请求的时间间隔小于或等于预设的时间间隔阈值时,和/或当发送所述第一网络请求 的用户在预定时间段内发送第一网络请求的次数等于预设的请求次数阈值时,根据所述第 一验证的验证结果,为发送所述第一网络请求的用户添加黑名单用户标记。
[0018] 根据本申请的另一方面,提供了一种防止针对服务器的恶意请求的系统,包括: web服务器,第一应用服务器,第二应用服务器;其中,所述web服务器接收网络请求,并对 所述网络请求进行初步地恶意请求验证,转发通过验证的所述网络请求至第一应用服务 器,拦截未通过验证的所述网络请求;所述第一应用服务器接收所述web服务器转发的网 络请求,并对所述网络请求进行进一步的恶意请求验证,为发送通过验证的所述网络请求 的用户分配合法的会话令牌或转发所述网络请求到第二应用服务器,为发送未通过验证被 拦截的所述网络请求的用户添加黑名单用户标记和/或拒绝执行业务数据处理;所述第二 应用服务器接收所述第二应用服务器转发来的网络请求,并针对所述网络请求进行相应的 业务数据处理。
[0019] 其中,所述网络请求包括第一网络请求或第二网络请求,而所述web服务器对所 述网络请求进行初步地恶意请求验证包括:验证所述第一网络请求的第一网络请求信息 和所述第二网络请求的第二网络请求信息是否包含黑名单用户标记,若包含黑名单用户标 记,则验证不通过;所述第一应用服务器对所述网络请求进行进一步的恶意请求验证包括: 验证发送所述第一网络请求的用户上一次发送第一网络请求的时间与本次发送第一网络 请求的时间是否小于预定的时间间隔阈值,和/或发送所述第一网络请求的用户在预定时 间段内发送第一网络请求的次数是否等于预设的请求次数阈值,和/或所述第一网络请求 的用户的信息是否存在相匹配的黑名单信息,若是,则验证不通过;验证发送所述第二网络 请求的会话令牌是否合法,和/或所述第二网络请求信息是否存在相匹配的黑名单信息, 若是,则验证不通过。
[0020] 根据本申请的又一方面,提供了一种防止针对服务器的恶意请求的装置,包括:第 一验证模块,用于接收第一网络请求,并对第一网络请求进行第一验证;返回模块,用于将 所述第一验证的验证结果及基于第一网络请求生成的会话令牌返回至发送第一网络请求 的用户端的cookie中;所述第一验证的验证结果用于标识发送第一网络请求的用户端是 否通过验证;所述会话令牌用于标识用户对基于第一网络请求获取的页面数据进行操作的 权限;第二验证模块,用于接收第二网络请求,对接收到的第二网络请求进行第二验证;其 中,第一网络请求为页面数据请求,第二网络请求为用户基于第一网络请求获取的页面数 据进行操作而发出的数据处理请求;第二网络请求携带所述第一验证的验证结果及会话令 牌;所述第二验证包括:验证所述第二网络请求携带的所述第一验证的验证结果及会话令 牌,以及当所述第二网络请求携带的所述第一验证的验证结果及会话令牌通过验证时,验 证发送第二网络请求的用户信息是否在预设的黑名单中;其中,若所述第二网络请求验证 通过,则针对所述第二网络请求进行相应业务数据处理;若所述第二网络请求验证未通过, 则拦截所述第二网络请求。
[0021] 其中,所述第二验证模块中,第二网络请求验证未通过,至少包括:所述第二网络 请求携带的所述第一验证的验证结果中包括黑名单用户标记,和/或所述第二网络请求携 带的所述会话令牌不合法,和/或所述第二请网络请求不存在会话令牌,和/或所述第二 网络请求的用户信息与预设的黑名单中的黑名单信息相匹配;和/或,当所述第二网络请 求携带的会话令牌不合法时,和/或,当所述第二网络请求不存在会话令牌时,将所述第二 验证的验证结果返回至发送所述第二网络请求的用户端的cookie中,以根据所述第二验 证的验证结果,为发送所述第二网络请求的用户添加黑名单用户标记。
[0022] 其中,所述第一验证模块中,对所述第一网络请求进行第一验证,至少包括:验证 所述第一网络请求是否包含的黑名单用户标记;和/或;验证发送所述第一网络请求的用 户上一次发送第一网络请求与本次发送第一网络请求的时间间隔,是否大于预设的时间间 隔阈值;和/或,验证发送所述第一网络请求的用户在预定时间段内发送第一网络请求的 次数,是否等于预设的请求次数阈值;和/或,将所述第一网络请求中包含的用户信息与所 述预设的黑名单中的黑名单信息进行匹配。
[0023] 其中,第一验证模块还包括:所述第一网络请求验证未通过,至少包括:该第一网 络请求中包含黑名单用户标记;和/或发送所述第一网络请求的用户上一次发送第一网络 请求与本次发送第一网络请求的时间间隔,小于或等于预设的时间间隔阈值;和/或发送 所述第一网络请求的用户在预定时间段内发送第一网络请求的次数,等于预设的请求次数 阈值;和/或所述第一网络请求中包含的用户信息与预设的黑名单中的黑名单信息相匹 配;和/或当发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络 请求的时间间隔小于或等于预设的时间间隔阈值时,和/或当发送所述第一网络请求的用 户在预定时间段内发送第一网络请求的次数等于预设的请求次数阈值时,根据所述第一验 证的验证结果,为发送所述第一网络请求的用户添加黑名单用户标记。
[0024] 与现有技术相比,根据本申请的技术方案具有以下有益效果:
[0025] 本申请在恶意请求验证过程中实时的更新黑名单用户数据表,并对发送恶意请求 的用户进行黑名单用户标记。以及基于用户获得的会话令牌对用户发送的网络请求(第二 网络请求)进行业务处理。从而有效的降低了恶意请求的误判率和漏判率,提高了恶意请 求判断的准确性。
附图说明
[0026] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0027] 图1是现有技术的web网站服务器架构示意图;
[0028] 图2是根据本申请的一实施例的防止针对服务器的恶意请求的方法的流程图;
[0029] 图3是根据本申请的一实施例的防止针对服务器的恶意请求的系统的结构图;以 及
[0030] 图4是根据本申请的一实施例的防止针对服务器的恶意请求的装置的结构图。
具体实施方式
[0031] 本申请的主要思想在于,防范针对服务器的恶意请求,降低非正常访问的用户反 复访问网页数据或反复请求业务数据处理的情形等。对接收的用户的第一网络请求做验证 第一验证,第一网络请求为页面数据请求。当第一网络请求验证通过,返回用户页面数据, 并且,可以返回cookie黑名单用户标记为空(无黑名单标记)、以及请求业务数据处理用 的合法会话令牌。当第一验证未通过,不返回用户页面数据,并且,可以返回cookie黑名单 用户标记和空会话令牌(无会话令牌)而不能请求业务数据处理。对接收的第二网络请求 进行第二验证,第二网络请求为用户基于第一网络请求获取的页面数据进行操作而发出的 数据处理请求,第二网络请求携带经第一验证产生的验证结果(cookie有无黑名单用户标 记)及会话令牌。通过第二验证对第二网络请求携带的第一验证产生的验证结果及会话令 牌,以及,当该验证结果及会话令牌通过验证时,验证发送第二网络请求的用户信息是否在 预设的黑名单中。若第二验证通过,则针对第二网络请求进行相应业务数据处理否则,拦截 第二网络请求。通过前一次对用户请求的多方式验证的结果,影响到用户下一次请求的验 证结果,保障服务器的安全和性能。
[0032] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及 相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一 部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033] 如图2所示,图2是根据本申请的一实施例的防止针对服务器的恶意请求的方法 的流程图。此仅为一个例子,本申请的方法不限于此。
[0034] 在步骤S210处,接收来自用户的第一网络请求,并对第一网络请求进行第一验 证。
[0035] 第一网络请求可以是一个超文本传输协议请求(Http请求),用于向服务器侧请 求返回用户需要的页面数据(页面资源)。该页面数据,可以在用户侧渲染产生对应的页 面。服务器侧,包括可以处理网络请求的各个服务器,诸如:应用服务器、web服务器等。其 中,所述页面数据(页面资源)可以包括用于实现某些业务功能的代码或资源(统称:业务 数据)。这些业务功能比如:提交评论、创建订单、查看、转账、搜索等等。
[0036] 具体而言,当用户打开一个网站的页面或者选择一个链接时,可以向服务器侧发 送第一网络请求。其中,链接可以包括图片携带的链接、文字携带的链接等。例如:用户点 击网页链接地址,向服务器侧发送页面访问请求。服务器侧(如,web服务器)可以接收到 该第一网络请求。
[0037] 该第一网络请求可以携带与该用户本次页面访问相关的内容,例如用户名、密码、 用户ID等用户信息及需要打开的页面的页面地址等等。
[0038] 服务器在向用户返回页面数据之前,可以基于第一验证逻辑验证第一网络请求。 第一验证逻辑是指根据第一验证内容判断(验证)来自第一用户的第一网络请求是否为恶 意请求。
[0039] 其中,恶意请求或者说非正常的网络请求,包括:用户向服务器发送的具有恶意攻 击的、危害服务器安全的网络请求;或者,反复向服务器发送的、超过预定频率的,给服务器 造成过大负担和压力,严重浪费服务器资源,影响服务器正常工作性能等的网络请求。比 如:(1)用户的网络请求中携带有病毒程序等,会导致服务器被病毒攻击。(2)用户以某一 高频率向服务器请求返回页面数据或请求业务数据处理等,导致服务器侧数据处理过大、 影响其他用户的正常网络访问或服务器崩溃等恶果。常见的恶意请求的情形,可以包括用 户在一段时间内不断向服务器发送网络请求,并且发送网络请求的次数和间隔,是普通用 户通过正常的手动操作所不能达到的。例如:电子商务网站促销活动,某些用户会利用某类 程序抢拍低价商品,这类程序在极短的时间内为该用户产生的网络请求量非常密集,反复 访问服务器,引起服务器负载过高,即为恶意请求对服务器造成的巨大压力,并严重浪费网 络即服务器的资源。对于恶意请求的判断和识别,服务器侧可以构建恶意请求验证逻辑,对 用户发送来的网络请求是否为恶意的,进行验证,以判断该网络请求是否恶意请求,拦截恶 意请求而响应非恶意请求(正常的网络请求),以保障服务器侧的安全和正常工作。响应 请求,包括:服务器对用户发来的请求,返回其请求的数据或执行其请求的处理。未响应请 求,包括:服务器未针对用户发来的请求,返回其请求的数据或拒绝执行其请求的处理。
[0040] 第一验证逻辑(第一验证)至少包括以下第一验证内容:验证第一网络请求包含 的黑名单用户标记,和/或,验证发送第一网络请求的用户上一次发送第一网络请求与本 次发送第一网络请求的时间间隔,和/或,验证发送该第一网络请求的用户在预定时间段 内发送该第一网络请求的次数,和/或,将该第一网络请求包含的用户信息与预设的黑名 单中的黑名单信息进行匹配,等等。第一验证内容中的各项可以单独使用、也可以相互组合 使用。
[0041] 具体的验证判断方式,比如,若第一网络请求中包括黑名单用户标记,和/或,发 送第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请求的时间间隔小 于或等于预设的时间间隔阈值,和/或,发送第一网络请求的用户在预定时间段内发送第 一网络请求的次数等于预设的请求次数阈值,和/或,第一网络请求的用户信息与预设的 黑名单中的黑名单信息相匹配,则可以判断该第一网络请求是恶意请求,该第一网络请求 验证不通过。若上述情形都不存在,则验证通过。
[0042] 黑名单用户标记black可以是服务器侧对发送恶意请求的用户所进行的标记,可 以作为验证是否通过的结果标识。是第一验证逻辑在对第一网络请求验证后返回的验证结 果的一种情形。验证结果为未通过,黑名单用户标记black=l标记到用户cooike中。验证 结果为通过,黑名单用户标记black=0即不标记black到用户cookie中。
[0043] 在一个实施例中,若发送第一网络请求的用户是在服务器侧已经被记录存档的黑 名单用户,那么在该第一网络请求的第一网络请求信息中,将会携带一个黑名单用户标记。 该黑名单用户标记,可以是用户在发送该第一网络请求之前与服务器侧进行数据交互期 间,因为其存在发送恶意请求的行为,而由服务器侧对应于该用户产生并设置的。并且,该 黑名单用户标记由服务器侧返回并添加该标记到该用户的用户信息中,以便该用户在后续 的网络访问、请求、数据交互等过程中,都可以携带该黑名单用户标记。进一步地,添加黑名 单用户标记,比如,从服务器侧将该黑名单用户标记返回给该发送第一网络请求的用户,并 在该用户侧进行存储,例如:将黑名单用户标记black=l存储于用户端的cookie中。当该 用户再次发送网络请求(无论第一网络请求还是第二网络请求)时,则都会在网络请求中 携带该黑名单用户标记。例如,对第一网络请求的验证过程中,确定了第一网络请求是恶意 请求时,将发送第一网络请求用户认定为非法的用户,并把非法的用户加入/登记到服务 器侧的黑名单中(表1所示),记为黑名单用户,同时在该用户所使用的用户端的cookie中
[0045]表1 添加黑名单用户标记,如,黑名单用户标记black=l,用于表示该用户是黑名单用户。[0044]
Figure CN104519018AD00111
[0046] 具体地,在一个网站中注册的用户,可以得到一个具有唯一性的用户编码(用户 ID),对被认定为发送恶意请求的用户,即应添加到黑名单中的用户,可以利用该具有唯一 性的用户ID,作为黑名单用户ID来记录该添加至黑名单中的用户。并且,还可以生成黑名 单用户对应的黑名单用户标记(black) "1",以返回给该黑名单用户,添加到其诸如cookie 等能带入用户发送的网络请求的信息中。从而,该黑名单用户再次发送网络请求(如:第一 网络请求或第二网络请求)时,均会携带该黑名单用户标记。例如:表1中,124(用户ID) 唯一的对应一个用户,125唯一的对应一个用户,并且该124和125对应的用户为黑名单用 户,为124和125对应的黑名单用户添加黑名单用户标记,当124或125对应的黑名单用户 再次发送网络请求时,会在网络请求中携带黑名单用户标记,如black=l。
[0047] 在另一个实施例中可以利用时间间隔阈值、预定时间段内发送预设请求次数的方 式来判断第一网络请求是否为恶意请求。例如:当用户本次发送第一网络请求与上一次发 送第一网络请求的时间间隔,比预设的3秒时间间隔阈值短或者相等(两次发送的时间间 隔小于等于预设的时间间隔阈值)时,则该用户发送的第一网络请求被判定为恶意请求。 又例如:当某用户发送第一网络请求的次数在预设的一天的时间段内超过了预设请求次数 100次,即在预定时间段内发送该第一网络请求的次数超过了预设的请求次数的阈值时,则 该用户发送的第一网络请求被判定为恶意请求。
[0048]进一步,可以将短时间内反复/频繁/多次发送该第一网络请求的该用户添加至 黑名单中存档记录,并标记该用户为黑名单用户,进而将该黑名单用户标记返回到该用户 侧以便添加标记到用户信息中,从而,当该用户再次发送网络请求时,该网络请求不论是第 一网络请求、第二网络请求或其他网络请求,在网络请求中均会带有该黑名单用户标记,从 而被服务器侧拦截或拒绝。
[0049]进一步的,对于预设发送请求次数的阈值(上限)或预设发送请求之间的时间间 隔阈值(下限),可以根据页面中涉及的业务功能的不同而预先为每个业务功能进行设置。 比如,可以根据页面中涉及的业务功能的不同,为每个业务功能预设发送第一网络请求次 数的上限、发送多次第一网络请求之间的时间间隔的下限。为每个业务可以预设不同的时 间间隔阈值和请求次数阈值,或者,也可以为多个业务预设统一的时间间隔阈值和请求次 数阈值。其中,预设的时间间隔阈值和请求次数阈值为正常用户所不能达到的。该正常用 户,即不向服务器发送恶意请求的用户。
[0050]例如,为所有业务功能预设相同的时间间隔阈值和相同的请求次数阈值,如表2所示:
Figure CN104519018AD00121
[0052]表 2
[0053] 也即是说,正常用户发送两次第一网络请求的时间间隔不可能小于或等于10秒。 正常用户在一天内发送第一网络请求的次数不可能达到100次。
[0054] 这样,可以用预设的时间间隔阈值和请求次数阈值来衡量(验证)该第一网络请 求是否为恶意请求。
[0055] 将用户发送上一次第一网络请求和发送本次第一网络请求的时间间隔与预设的 时间间隔阈值进行比较。若该时间间隔小于或等于时间间隔阈值,则表示该第一网络请求 为恶意请求,验证不通过。反之,该第一网络请求不是恶意请求,验证通过。其中,服务器侧 可以记录用户每次发送第一网络请求的时间。例如:若用户两次发送第一网络请求的时间 间隔为5秒,该时间间隔小于预设的时间间隔阈值10秒,这是正常用户所不能达到的,则表 明该用户发送的第一网络请求为恶意请求,蓄意反复访问服务器,加大服务器侧压力并影 响网络访问效率,验证不通过,对于该用户本次发送的第一网络请求可以进行拦截,终止该 用户本次的页面访问。
[0056] 将用户发送第一网络请求的次数与预设的请求次数阈值进行比较。若在一段时间 内,该用户发送第一网络请求的次数等于请求次数阈值,则表示该用户所发送的第一网络 请求为恶意请求,验证不通过。若在一段时间内,用户发送第一网络请求的次数小于请求次 数阈值,则表示该用户所发送的第一网络请求不是恶意请求,验证通过。例如:在一天内,用 户发送的第一网络请求数量为100次,等于预设的请求次数阈值100次/天,是正常用户所 不能达到的请求次数,则该用户发送的第一网络请求为恶意请求,验证不通过,对于该用户 本次发送的第一网络请求可以进行拦截,终止第一用户本次的页面访问。当发送第一网络 请求的用户,上一次发送第一网络请求与本次发送第一网络请求的时间间隔小于或等于预 设的时间间隔阈值时;和/或当发送所述第一网络请求的用户,在预定时间内发送第一网 络请求的次数等于预设的请求次数阈值时,可以将该用户加入黑名单,并为该发送第一网 络请求的用户添加黑名单用户标记。
[0057]当该用户再次发送网络请求(无论第一网络请求还是第二网络请求)时,则都会 在网络请求中携带该黑名单用户标记。对于携带黑名单用户标记的用户所发送的网络请求 将会被服务器(如,web服务器)拦截。也正是因为这个原因,用户所发送的第一网络请求 的次数不可能大于预设的请求次数阈值。
[0058]服务器侧可以对用户在一段时间内发送的第一网络请求进行计数。具体而言,用 户每发送一次第一网络请求,服务器侧可以更新该用户发送第一网络请求的次数。在未达 到预设的请求次数阈值时,用户每发送一次第一网络请求,即在上一次计数的结果上加1。 当该用户发送第一网络请求的次数达到预设的请求次数阈值时,则将该用户添加至黑名单 中。例如,一天内,用户当前发送第一网络请求的次数是98次,不及预设的请求次数阈值 100次/天,当用户再次发送第一网络请求时,则在次数98的基础上加1,则将第一网络请 求的次数更新为99次。当该用户又一次发送第一网络请求时,则继续在更新后的99次的基 础上加1,这时,该用户发送第一网络请求的次数已经达到预设请求次数阈值100次/天, 就可以判定第一网络请求为恶意的,并将该用户添加至黑名单中。
[0059] 例如,在表1中,125 (用户ID)被添加至黑名单中,则表示该用户ID对应的用户向 服务器发送的第一网络请求数量已经达到预设的请求次数阈值,需要拦截该用户再次发送 的网络请求(第一网络请求、其二网络请求、其他网络请求),并为该用户生成黑名单用户 标记,返回到该用户侧,使得该用户再次发送网络请求时携带该黑名单用户标记。
[0060]在又一个实施例中,当服务器侧对接收到的第一网络请求,没有发现其携带的用 户信息中,在如cookie中存在黑名单用户标记(可能被用户篡改删除、或者没有将该标记 添加上、或者伪造了身份等等,导致没有该black=l),还可以通过服务器侧进一步检测发送 网络请求的用户所具有的用户ID,是不是在存档的黑名单上,即匹配黑名单的信息。若匹配 上即该用户被列入了黑名单、则该用户发送的第一网络请求被判定为恶意请求,若未匹配 上则说明该用户未被列入黑名单。进一步的,匹配上的该用户是黑名单上记录在案的,还可 以将黑名单中记录的黑名单用户标记返回到该用户侧进而补充或重新添加标记到该用户 的用户信息中,如:cookie中black=l。
[0061]由此,服务器侧还可以通过将第一网络请求中的第一网络请求信息与黑名单信息 进行匹配,从而确定,发送来的第一网络请求是否为恶意请求。即便用户通过任意方法将第 一网络请求中的第一网络请求信息包含的黑名单用户标记去除,也仍然可以通过第一网络 请求信息与黑名单信息的匹配(例如,将发送第一网络请求的用户的"用户ID"与黑名单信 息中的"用户ID"进行匹配),匹配出一致的即该用户在该黑名单中是黑名单用户,则说明 该用户有意伪造成正常用户,则可以将该第一网络请求判定为恶意请求,该请求验证不通 过。
[0062]在步骤S220出,将第一验证的结果及基于第一网络请求生成的会话令牌返回至 发送第一网络请求的用户端的cookie中。
[0063]第一验证的结果用于标识发送第一网络请求的用户端是否通过验证。会话令牌用 于标识用户对基于第一网络请求获取的页面数据进行操作的权限。
[0064]其中,第一验证的结果可以包括第一网络请求验证通过、第一网络请求验证不通 过。
[0065]〈一〉若第一网络请求验证通过,则为发送第一网络请求的用户分配会话令牌。 [0066] 具体而言,对于通过验证的第一网络请求,服务器侧对验证通过的该第一网络请 求作出响应,g卩,提供其请求的页面数据。服务器侧返回给发送该第一网络请求的用户其需 要的(请求的)页面数据(页面资源)。此时,服务器侧可以为发送该第一网络请求的用户 分配一个会话令牌。用户可以利用会话令牌请求服务器侧进行业务数据的处理。
[0067]该会话令牌(token)可以表示用户对业务功能的操作权限。即,被分配了会话令 牌的用户,具有操作(使用)页面中的业务功能,并请求服务器对操作业务功能所对应的业 务数据进行业务数据处理的权限。其中,该会话令牌是合法的非空值字符串。只有用户的 网络请求(如,第二网络请求)具备会话令牌,服务器侧才可以针对用户的网络请求(如, 第二网络请求)处理相应的业务数据。
[0068]其中,合法的会话令牌与"用户ID"和业务功能可以存在关联,并且合法的会话令 牌具有唯一性。会话令牌中,可以包含用户ID、业务功能的编码及会话令牌编码,等。会话 令牌中包含的用户ID即获得所述会话令牌的用户的ID。会话令牌中的业务功能的编码即 服务器侧根据第一网络请求返回给用户的页面数据所涉及的业务功能的编码。会话令牌编 码用于唯一标识所述会话令牌。比如,该会话令牌可以具有一定的格式,可以假设会话令牌 长度为32位的字符串,前3位字符是用户ID,紧接着用户ID后面的3位字符是业务功能编 码,可以将剩余的26位字符用于区别会话令牌的会话令牌编码,使用户每次获得的会话令 牌具有唯一 ,I"生。
[0069]当第一网络请求验证通过时,服务器侧可以将分配给该用户的会话令牌、以及可 以将第一网络请求所请求的页面的页面数据,都返回给用户。从而可以通过页面数据来渲 染页面,并将页面中的业务功能呈现给用户。
[0070] 在一个实施例中,针对通过第一验证的第一网络请求,服务器可以为发送该第一 网络请求的用户分配一个为空值的黑名单用户标记,如:black=0。该为空值的黑名单用户 标记没有任何效力,不妨碍用户再次发送网络请求。也即,服务器为用户返回的信息中可以 包括合法的会话令牌和空值黑名单用户标记。
[0071] 可以将会话令牌设置为:一个会话令牌只能给一个用户使用一次,并且有一定时 间限制的。
[0072]〈二〉若第一网络请求验证未通过,则拦截第一网络请求。
[0073] 当第一网络请求未通过验证时,则可以表示该第一网络请求是恶意请求。对于恶 意请求需要进行拦截,终止该恶意请求。此时,服务器侧对验证未通过的该第一网络请求, 不会作出响应,即拒绝响应,其不会返回用户其需要的(请求的)页面数据(页面资源)。
[0074] 具体而言,当第一网络请求未通过验证时,则表示该第一网络请求未通过验证、是 恶意请求,为了不影响服务器侧的正常运行以及正常用户的网络行为,可以对恶意请求进 行拦截,终止该恶意请求,而服务器侧不对其进行处理(如,不返回其需要的页面数据等)。 并且,对于满足一定条件的恶意请求,如,对发送第一网络请求次数达到预设的请求次数阈 值的用户进行黑名单用户标记。以此防止用户再次发送恶意请求。
[0075]服务器侧可以对用户发送的正常的网络请求进行相应的处理。即来自正常用户的 网络请求,这里的正常用户,即不向服务器发送恶意请求的用户,可以通过发送第一网络请 求来获取用于渲染页面的页面数据以及会话令牌,等。其中,在该页面中,可以涉及业务功 能。
[0076] 服务器侧可以对非正常用户发送的非正常的网络请求(恶意请求)进行相应的防 卫处理,如拦截网络请求或拒绝业务数据处理等。
[0077] 在一个实施例中,可以预设请求次数计数清零时间和黑名单用户清除时间。比如, 从用户发送第一次第一网络请求开始,经过请求次数计数清零时间,并直到请求次数计数 清零时间结束的时刻,可以将对该用户的第一网络请求的计数清零,当该用户再次发送第 一网络请求时,从1开始重新计数。该请求次数计数清零时间可以是6小时、12小时、24小 时,等等。当用户成为黑名单中的黑名单用户,这里,无论是发送第一网络请求的用户、还是 发送第二网络请求的用户,并持续了黑名单用户清除时间后,可以将该黑名单用户从黑名 单中清除,并消除该用户的黑名单用户标记,使该用户重新拥有普通用户的权利(如回归 正常用户)。如,在网络竞拍活动中,用户意图通过外挂程序恶意抢拍(正常用户无法达到 的服务器访问频率),当活动结束,该用户也不再恶意抢拍,则其回归正常用户范畴。
[0078] 在一个实施例中,针对未通过第一验证的第一网络请求,服务器可以为发送该第 一网络请求的用户分配一个为空值的会话令牌,该为空值的会话令牌一种情形可以是:无 会话令牌。验证未通过,则服务器为用户返回的信息中包括黑名单用户标记(验证结果) 和空值会话令牌(无会话令牌)。
[0079] 在步骤S230处,接收第二网络请求,对接收到的第二网络请求进行第二验证。
[0080] 第二网络请求可以是一个Http请求,用于请求服务器侧对用户所产生的业务数 据进行处理。第一网络请求由服务器侧作出响应,即返回了页面数据。基于此,页面数据中 包含业务数据,页面数据产生(渲染出)相应的页面,页面中包含业务功能,即业务数据对 应的业务功能,而用户可以使用业务功能(即操作业务)。由用户的操作,产生第二网络请 求,并发送给服务器侧,以请求对与业务功能相关的数据,即页面数据中涉及的业务数据进 行处理。
[0081] 进一步,当服务器侧对用户的第一网络请求作出了响应、并且为该用户分配了合 法的会话令牌时,服务器侧可以对该用户操作业务功能所产生的合法的第二网络请求执行 相应的业务数据处理。合法的第二网络请求即验证通过的第二网络请求,这里指响应第二 网络请求以执行业务数据处理之前,先根据第二验证逻辑验证(第二验证)通过的第二网 络请求。当服务器侧对该业务数据的处理完毕时,该会话令牌失效。也即是说,一个会话令 牌用于一次业务数据的处理。
[0082] 具体地,在通过第一网络请求获得页面数据后,正常用户可以使用页面中的业务 功能对页面进行操作,例如,点击提交评论、创建订单的按钮。根据正常用户对页面的操作, 该正常用户可以向服务器侧发送携带了会话令牌的第二网络请求,请求服务器侧处理操作 产生的业务数据。服务器侧负责处理业务数据并返回处理结果给该正常用户。例如,评论 提受成功或订单创建成功的提不彳目息等等。
[0083] 其中,第二验证逻辑(第二验证)包括的第二验证内容,如:验证第二网络请求携 带的所述第一验证的验证结果及会话令牌,以及当第二网络请求携带的第一验证的验证结 果及会话令牌通过验证时,验证发送第二网络请求的用户信息是否在预设的黑名单中。
[0084] 其中,验证第一验证的验证结果,可以包括验证第二网络请求携带的验证结果中 是否包含黑名单用户标记,包含黑名单用户标记说明第一验证的验证结果为不通过,不包 含黑名单用户标记说明第一验证的验证结果为通过。
[0085] 具体而言,用户所发送的第二网络请求中可以包含所要请求处理的业务数据, cookie等等。其中,在cookie中可以包括用户信息,例如:用户的会话信息(Session)、用 户名或用户ID等。用户的用户名,用户ID可以根据用户的会话信息获得。进一步,第二 网络请求信息中可以包括会话令牌token等。而由本申请的方案,如果未对第一网络请求 进行响应,即不响应该请求不返回请求的页面数据,那么,服务器侧既不会返回请求的页面 数据,同时也不会为第一网络请求的用户分配会话令牌token或者说,返回空值会话令牌 token;甚至还可能将该第一网络请求的用户记为黑名单用户等。从而,可以在验证第二网 络请求时,对会话令牌token进行判断,确定第二网络请求是否为恶意的。
[0086] 其中,如果在第二网络请求信息中不包含会话令牌token,或者说,会话令牌为空 值,则可以表示用户发送的该第二网络请求为恶意请求,即该用户发送的第二网络请求被 认定为是不被允许的、非法的,该用户发送的第一网络请求并未被服务器响应,甚至有可能 该第二网络请求是根据其他用户或以往的页面数据等伪造的。即如果未对第一网络请求做 出响应,则不会为发送该第一网络请求的用户分配会话令牌token。
[0087] 在第二网络请求信息中不存在会话令牌token,包括会话令牌token是空值的情 形,可以认为,发送第二网络请求的用户,只是基于伪造(模拟的)页面数据发起的第二网 络请求,该用户不具备服务器为正常用户分配的会话令牌token。对于该类情况的原因,可 能是该用户以其他途径获取到其他用户(或自身以往获得过)的页面数据,进而伪造业务 数据。或者,服务器在为该用户返回会话令牌token时,会话令牌token丢失,或者第一网 络请求未被响应/验证未被通过,而服务器并未给用户分配会话令牌token即返回空值会 话临牌。对于该不存在会话令牌token的第二网络请求,可以判断是恶意请求,即验证不通 过。
[0088] 进一步的,如果在第二网络请求的信息中包括会话令牌token,则:可能第一网络 请求被响应,可能发送该第二网络请求的用户可能不是黑名单用户,或者,也可能该用户未 通过发送第一网络请求获得合法的会话令牌token而伪造了会话令牌token,等等,因而, 是否为恶意请求,可以再做其他验证,即可以进行多方位的验证、多重验证。
[0089] 其中,关于伪造会话令牌token,是指该会话令牌token实际上并不是由服务器侧 分配给合法用户的合法的会话令牌token。其中,合法用户,即发送了被响应的第一网络请 求的用户,合法的会话令牌token是由服务器侧对第一网络请求作出响应而分配给第一网 络请求的用户的。伪造的会话令牌token是非法的,其不符合合法的会话令牌token的规 定,因为合法的会话令牌token的生成算法是保密的,伪造的会话令牌token的算法与合 法的会话令牌的算法并不同,从而导致生成的会话令牌token不同。拥有伪造的会话令牌 token的第二网络请求,也将被认定为是恶意请求。
[0090] 具体而言,会话令牌token不合法可以包括会话令牌格式不正确的情况。非法 的会话令牌token产生的原因包括:发送第二网络请求的用户通过其他途径获取其他用 户、或该用户自身曾经使用过的会话令牌token,其已经过期、或者根据使用过的会话令牌 token伪造等;或者在发送第二网络请求的用户与服务器侧在通信过程中出错;或者第二 网络请求的会话令牌被恶意篡改等。
[0091] 例如:假设合法的会话令牌token的标准格式为长度32位的字符串,前6位为数 字,后26位为字母。若第二网络请求信息中包含的会话令牌token为:11111111000000001 111 111100000000,则该第二网络请求携带的会话令牌token的格式与标准格式不符,该第 二网络请求携带的token不合法(非法)。对于不合法的会话令牌token,可以判定其第二 网络请求为恶意请求,本次验证不通过。
[0092] 在一个实施例中,为了避免发送恶意请求的用户伪造该会话令牌token,尤其是 会话令牌token编码,可以在生成会话令牌token编码时,随机生成替换编码,将会话令牌 token编码与该替换编码关联起来,并将相关联的会话令牌token编码与替换编码保存在 会话令牌token编码对照表中。将会话令牌token中的会话令牌token编码,替换成替换 编码。替换后的会话令牌token中可以包括:用户ID,业务功能编码,替换编码。将该替换 后的会话令牌token返回给发送被服务器侧响应的第一网络请求的用户。
[0093]例如:生成的会话令牌token为llllllaaaaaabbbbbbccccccddddddee。可以根 据会话令牌token格式的设定,确定出aaaaaabbbbbbccccccddddddee是会话令牌token编码。随机生成关联于该会话令牌token编码的替换编码,如Xa23Y。将会话令牌token 编码aaaaaabbbbbbccccccddddddee与替换编码Xa23Y对应着保存至会话令牌token 编码对照表中,并使用替换编码Xa23Y替换会话令牌token中的会话令牌token编码 aaaaaabbbbbbccccccddddddee,则得到替换后的会话令牌token为llllllXa23Y。
[0094] 当某用户携带该替换后的会话令牌token发送第二网络请求时,将该替换后的会 话令牌token中的替换编码,与会话令牌token编码对照表进行匹配,查看是否有该替换编 码存在。若存在该替换编码,则将该替换编码替换成与该替换编码相关联的会话令牌token 编码,在对包含会话令牌token编码的会话令牌token进行合法性判断。若不存在该替换 编码,则判定该用户携带的替换后的会话令牌token是伪造的,可以直接确定该用户发送 的第二网络请求是恶意请求,该恶意请求验证不通过。
[0095] 例如:某用户携带的替换后的会话令牌token为llllllXa23Y,经分析得知Xa23Y 为替换编码,在会话令牌token对照表中查找替换编码Xa23Y。若存在该替换编码Xa23Y, 则将与替换编码Xa23Y相关联的会话令牌编码aaaaaabbbbbbccccccddddddee,重新更换到 会话令牌token中,得到会话令牌token为11111laaaaaabbbbbbccccccddddddee,可以对该 会话令牌token(11111laaaaaabbbbbbccccccddddddee),进行合法性验证,例如验证会话令 牌token的格式是否正确,会话令牌token是否为空值等等。若不存在该替换编码Xa23Y, 则验证不通过,可以直接拦截该用户发送的第二网络请求。
[0096] 进一步,第二网络请求信息中可以包括黑名单用户标记,如black=l等。其中,该 黑名单用户标记可以是用户cookie中携带的标签,如black=l。
[0097] 其中,第二网络请求信息中黑名单用户标记black=l,表示发送该第二网络请求的 用户可能是黑名单用户,该黑名单用户曾经向服务器侧发送过恶意请求。因而,如果第二网 络请求信息中包括了该黑名单用户标记black=l,可以确定该第二网络请求为恶意请求,无 论其是否携带了会话令牌token(因其携带的会话令牌token也有可能是伪造的)。如果第 二网络请求信息中不包括该黑名单用户标记black=l(后面直接用black表示),则可能第 一网络请求被响应,发送该第二网络请求的用户可能不是黑名单用户,等等,因而,是否为 恶意请求,还需要做其他验证,即需要多次验证、多重验证。
[0098] 具体而言,在第二网络请求信息中包含黑名单用户标记black,表示发送该第二网 络请求的用户是黑名单用户(非正常用户),第二网络请求被认定为恶意的。由于正常用户 才可以通过第一网络请求获得页面数据,那么该用户发送第二网络请求所使用的页面数据 可能是通过其他途径获得的。那么该用户存在冒用其他用户身份或根据自己身份以往获得 的页面数据等进行伪造会话令牌等的嫌疑,可以将该用户发送的第二网络请求当做恶意请 求,判定本次验证不通过。也可以说,对于存在黑名单用户标记black的用户,服务器侧是 不会响应其发送的第一网络请求的,而当该用户发送来了第二网络请求,说明其应当是从 其他途径获取的页面数据涉及的业务数据。由该黑名单用户标记black就能在服务器侧的 最前端如web服务器,阻挡这样的非法用户,而不让其进入到服务器侧的后端,影响服务器 系统的正常工作和性能。
[0099] 进一步,可以将发送恶意请求的用户添加至黑名单中,并存储于服务器中。即如果 第二网络请求验证未被通过,将其认定为恶意请求,则将该用户加入黑名单中存档并给发 送第二网络请求的用户添加黑名单标记。例如:表1示意性的表示出存储在服务器中的黑 名单。在黑名单中可以记录黑名单信息,该信息可以包含:用户信息如用户ID、对应的给发 送恶意请求的该用户添加黑名单用户标记等。被列入黑名单中的用户,可以在黑名单中记 录其ID,并对应记录对该用户添加了黑名单用户标记。
[0100] 若是用户通过一定方式将第二网络请求信息中的黑名单用户标记black去除,以 此伪造成正常的合法的用户,但由于在第二网络请求信息中包含用户信息即有用户ID,则 服务器侧还可以将该第二网络请求信息中的用户信息,与黑名单中的黑名单信息进行匹 配,比如将该用户的用户ID与黑名单中的黑名单用户ID进行匹配,若在黑名单的黑名单信 息中匹配出与该用户ID-样的用户ID,则也验证出该用户是黑名单用户,该用户是曾经发 送恶意请求的用户,该用户是非法的、非正常的。这样,可以将虽然不包含黑名单用户标记 black,但是其用户信息涉及的用户ID是包含在黑名单中的第二网络请求,判定为恶意请 求,该恶意请求验证不通过。
[0101] 下述将举例描述利用黑名单用户标记black=l、会话令牌token、黑名单信息匹配 等,构建验证逻辑(验证机制或者验证策略)的情形。本申请中,服务器侧对接收到的第二 网络请求的验证,是依据构建的第二验证逻辑进行的。
[0102] 第二验证逻辑是根据第二验证内容判断第二网络请求是否为恶意请求。第二验 证逻辑的第二验证内容至少包括:验证第二网络请求携带的第一验证的验证结果及会话令 牌,以及当第二网络请求携带的第一验证的验证结果及会话令牌通过验证时,验证发送第 二网络请求的用户信息是否在预设的黑名单中。换言之,第二验证可以是:验证第二网络请 求携带的第一验证的验证结果是否包含黑名单用户标记black,和/或验证第二网络请求 携带的第一验证的验证结果包含的会话令牌token,和/或将第二网络请求包含的用户信 息与黑名单信息进行匹配,等等。这里,黑名单信息存储在服务器侧的黑名单中,如表1所 示。其中,被登入黑名单的用户,服务器侧会给予黑名单用户标记black,但也可能因各种原 因(如蓄意删除、传送时丢失等),该黑名单用户标记black会没有添加到用户一侧。
[0103]进行验证的过程中,若发现,第二网络请求携带的第一验证的验证结果中包含黑 名单用户标记black,和/或,该第二网络请求携带的第一验证的验证结果中包含的会话 令牌token不合法,和/或,第二网络请求携带的第一验证的验证结果中不包含会话令牌 token,和/或,第二网络请求的用户信息与预设的黑名单中黑名单信息相匹配(用户信息 与黑名单信息的用户信息相匹配),则可以判断该第二网络请求为恶意请求,该第二网络请 求验证不通过。
[0104]当然,若上述验证不通过的情形都不存在,则可以判断该第二网络请求为非恶意 请求,即验证通过,可以对第二网络请求涉及的业务数据执行需要的处理。具体地,若第二 网络请求信息中不包含黑名单用户标记black,第二网络请求信息中存在会话令牌token 且会话令牌token合法,以及,发送该第二网络请求的用户其用户ID也不是记录在黑名单 中的黑名单用户,则表示该第二网络请求不是恶意请求,该第二网络请求验证通过。
[0105]在一个实施例中,第二验证内容,可以不分先后顺序任选其中一个或其多个构建 第二验证逻辑,以根据实际情形、实际需要合理选择和组织顺序,即能进行有效的验证,保 证验证的逻辑顺序合理,都能完成验证,进而实现保障服务器侧的正常工作、保护服务器侧 的安全和性能的目的。比如:黑名单用户标记black验证、会话令牌token验证、黑名单信 息匹配,可以根据实际需要任选其一、其二、其三......,并根据实际需要任意组合先后顺 序,来构建第二验证逻辑。验证期间,在第二验证逻辑中用到的第二验证内容,需要都验证 通过,才表示第二网络请求通过了验证,任一个验证未通过,都表示第二网络请求会被判定 为恶意请求。
[0106] 下面,将以选择上述列举的三个第二验证内容,并按照验证是否存在黑名单用户 标记black,同时验证是否匹配黑名单信息和验证会话令牌token的存在及其合法性的顺 序,构建第二验证逻辑为例子,来介绍第二网络请求的验证。
[0107] 对第二验证内容为黑名单用户标记black的验证:如果第二网络请求携带的第一 验证的验证结果中存在黑名单用户标记black,则该第二网络请求是恶意的,验证不能通 过,该用户是非法的,是黑名单用户。如果第二网络请求携带的第一验证的验证结果中不存 在黑名单用户标记black,则需要看后面的第二验证内容的验证结果,来最终确定第二网络 请求是否为恶意请求。验证和判断方式可以参见前述关于黑名单用户标记black来进行验 证和判断的描述。
[0108] 对第二验证内容为黑名单信息匹配的验证:如果第二网络请求携带的第一验证的 验证结果中没有黑名单用户标记black,但其中的用户信息与服务器侧保存的黑名单中的 黑名单信息相匹配,则该第二网络请求是恶意的,验证不能通过,该用户是非法的。进一步, 被验证为非法的该用户,由于之前没有添加上黑名单用户标记black或者说丢失或被蓄意 去除了,则可以再次进行黑名单用户标记black的添加。如果第二网络请求携带的第一验 证的验证结果中没有黑名单用户标记black,且其中的用户信息与服务器侧保存的黑名单 中的黑名单信息不匹配,则可能不是恶意的,还需要看其他的第二验证内容的验证结果,来 最终确定第二网络请求是否为恶意请求。验证和判断方式可以参见前述关于黑名单信息匹 配进行验证和判断的描述。
[0109] 对第二验证内容为会话令牌token的验证:如果第二网络请求携带的第一验证 的验证结果中不存在会话令牌token,那么即便没有黑名单用户标记black,第二网络请求 被认为是恶意请求。如果第二网络请求携带的第一验证的验证结果中没有黑名单用户标 记black,且具有存在会话令牌token,则验证该会话令牌token是否合法,比如会话令牌 token的格式是否正确等。可以参见前述关于会话令牌token存在与否、合法与否的验证 和判断的描述。并且,进一步的,如果该第二网络请求的第二网络请求信息中的会话令牌 token不合法,和/或,该第二网络请求信息中不存在会话令牌时,将发送该第二网络请求 的用户添加到黑名单中,记录其用户ID到黑名单信息中,并且,还为该用户添加黑名单用 户标记black(black=l)。这样就可以在该用户再次发送第一网络请求或第二网络请求时, 在服务器侧最前方,如web服务器,接收到这些网络请求并被验证,如:发现黑名单用户标 记black存在于接收到的这些网络请求信息中。这样,很容易拦截这些网络请求以避免其 发送的针对服务器的恶意请求,并且,都无需将这些网络请求转送到服务器侧的后方(如 网页服务器、业务服务器等),防止了对服务器的正常工作、安全和性能等带来不利影响。
[0110] 当然,其中,还可以在合法性判断前,插入黑名单信息匹配的验证方式,因而,即便 存在会话令牌token,若其用户信息匹配上了黑名单信息,也可能会被认为其第二网络请求 是恶意请求,而不再做会话令牌token的合法性判断。
[0111] 当第二网络请求携带的第一验证的验证结果没有black、且携带有token、且不在 黑名单中,那么验证通过,执行业务数据处理,即响应第二网络请求。否则,有任一一个不满 足,则验证都不通过,为恶意请求,并可以添加黑名单用户标记black,拒绝执行业务数据处 理,即拒绝对第二网络请求响应。
[0112] 这里,发送第一网络请求和第二网络请求的用户,可以是相同的用户、也可以是不 同的用户。也就是说,可能会发送恶意请求的用户,其发送第一网络请求和第二网络请求, 可以采用相同或不同身份,即第一用户发送第一网络请求、第二用户发送第二网络请求,第 一用户和第二用户可以不同,也可以相同。当发送第一网络请求和第二网络请求的用户不 同时,表示发送第二网络请求的用户通过一定手段直接获得了页面数据,例如,使用其他用 户获得的,在浏览器缓存中存储的页面数据。根据该页面数据直接发送第二网络请求,也即 是说,不发送(跳过)第一网络请求,用已有的页面数据发送第二网络请求。
[0113] 在一个实施例中,用户先发送第一网络请求,进而基于其发送的第一网络请求被 响应而获得的页面数据和会话令牌,再向服务器侧发送第二网络请求,以请求服务器侧对 第二网络请求涉及的业务数据进行处理。即该过程类似正常用户的请求过程。此外,用户 可以记录每一次页面访问所获得的页面数据和会话令牌。因此,存在这样的情形:用户可以 不发送第一网络请求,而根据先前记录的页面数据、会话令牌及用户当前的操作发送第二 网络请求,来请求服务器处理用户当前操作产生的业务数据。在上述情形下的实施例中,所 述第二网络请求携带的所述会话令牌是失效的。服务器侧可以通过验证所述会话令牌是否 有效来判断是否拦截或响应所述第二网络请求。
[0114] 在另一个实施例中,发送第二网络请求的第二用户,可以通过其他途径获得发送 第一网络请求的第一用户根据第一网络请求所获得的页面数据和/或会话令牌。如:第二 用户可以通过冒用第一用户的身份的方式,获得页面数据和会话令牌等。通过这种方式,第 二用户可以基于其他用户获得的页面数据和/或会话令牌来发送第二网络请求。这时,发 送第一网络请求和第二网络请求的用户是不相同的。
[0115] 第二验证的结果可以包括第二网络请求验证通过、第二网络请求验证不通过。
[0116]〈一〉若第二网络请求验证通过,则针对第二网络请求进行相应业务数据处理。
[0117] 这里,若第二网络请求通过验证,则表示该第二网络请求不是恶意请求,发送该第 二网络请求的用户是正常用户。进一步,可以确定发送第一网络请求的用户与发送该第二 网络请求的用户为相同的用户(用户ID也相同)。那么可以对该第二网络请求所请求处理 的业务数据进行处理,并将处理结果返回给该用户。
[0118] 例如:可以对该用户提交的评论内容进行处理,将该用户的评论内容与其他用户 的评论内容一同显示在页面中,并且提示该用户"评论提交成功",等等。
[0119]〈二〉若第二网络请求验证未通过,则拦截第二网络请求。
[0120] 若第二网络请求未通过验证,则表示该第二网络请求是恶意请求。为了不影响服 务器的正常运行,和正常用户的网络行为,可以拦截该恶意请求,并且,对于被认定为恶意 请求的第二网络请求,其所请求的内容(业务数据等)不进行相应的业务数据处理,进一步 的,还可以向发送该第二网络请求的用户反馈"恶意请求"、"黑名单用户"等提示,甚至可以 将发送该未通过验证的第二网络请求的用户加入黑名单(如果之前不在黑名单中)、做黑 名单标记等。比如,在一个实施例中,若第二网络请求验证失败,是由于会话令牌不合法, 或是会话令牌为空值造成的。那么可以将发送该第二网络请求的用户添加至黑名单中。进 而,当第二网络请求的第二网络请求信息中的会话令牌不合法时,和/或,当第二网络请求 信息中不存在会话令牌时,还可以为发送第二网络请求的用户添加黑名单用户标记。
[0121] 需要说明的是,第一验证内容,第二验证内容具有可扩展性,可以根据需要在第一 验证内容和/或第二验证内容中添加验证项,例如:在第二验证内容中添加会话令牌的有 效时间,若第一用户在会话令牌的有效时间以外的时间发送第二网络请求,则可以拦截该 第二网络请求。
[0122] 以本申请所述的方法为基础,本申请还提供了一种防止针对服务器的恶意请求的 系统,如图3所示是根据本申请一实施例的防止针对服务器的恶意请求的系统的结构图。
[0123] 本申请所述的系统可以包括Web服务器310,第一应用服务器320,第二应用服务 器 330。
[0124] 其中,web服务器310可以接收来自用户的第一网络请求,该第一网络请求用于请 求页面资源/页面数据等。可以对接收到的第一网络请求进行初步地恶意请求验证,转发 通过验证的第一网络请求至第一应用服务器320,拦截未通过验证的第一网络请求。例如, 验证该第一网络请求中的第一网络请求信息是否包含黑名单用户标记,包含黑名单用户标 记的第一网络请求为恶意请求。将不含黑名单用户标记的第一网络请求转发至第一应用 服务器420。将包含黑名单用户标记的第一网络请求判定为恶意请求并进行拦截,并终止 对该用户本次发送的第一网络请求进行进一步地处理,以避免发送该第一网络请求的第一 用户再次向系统发起恶意请求。参见图2所示例子中,对第一网络请求的响应处理的步骤 S210〜S220的处理过程。第一应用服务器320可以接收对web服务器310转发的来自用 户的第一网络请求,并对该第一网络请求进行进一步地恶意请求验证。对于通过验证的第 一网络请求,第一应用服务器320为发送该网络请求的用户分配会话令牌。对于未通过验 证的第一网络请求,第一应用服务器320拦截该第一网络请求。
[0125] 该第一应用服务器320可以针对转发来的第一网络请求,根据其用户上一次发送 第一网络请求的时间与本次发送第一网络请求的时间判断两者之间的时间间隔是否小于 一个预定的时间间隔阈值,从而判断来自该用户的两次第一网络请求的时间间隔是否过于 密集(小于预定的时间间隔阈值),对于同一用户发送的过于密集的第一网络请求,可以将 该用户判定为发送恶意请求的可疑用户,则该第一网络请求未通过验证,第一应用服务器 320对于该用户发送的本次第一网络请求可以进行拦截。
[0126] 该第一应用服务器320还可以验证该用户在一预定时间段内发送的第一网络请 求的次数(包含本次发送的第一网络请求),若该次数等于该预定时间内的预设的请求次 数阈值,则该第一网络请求验证不通过,第一应用服务器320可以拦截该第一网络请求,并 将发送该第一网络请求的该用户加入黑名单,使该用户成为黑名单用户。以及第一应用服 务器320可以为该用户生成黑名单用户标记,并经由web服务器410将该黑名单用户标记 返回给该用户。
[0127] 该第一应用服务器320可以将第一网络请求信息与黑名单中的黑名单信息进行 匹配,若存在与第一网络请求信息相匹配的黑名单信息,则将该第一网络请求作为恶意请 求进行拦截。
[0128] 第一应用服务器320还可以为通过验证的第一网络请求的用户分配一个会话令 牌(token),将该会话令牌经由web服务器310发送给该用户。该用户将使用该会话令牌执 行获得的网页上的业务功能等等。
[0129] 其中,在web服务器310以及第一应用服务器320都通过对第一网络请求的验证 后,web服务器310可以从资源服务器获取到第一网络请求所请求的页面资源/页面数据 等,并将该页面资源返回给第一用户,进行页面渲染,即,对第一网络请求的响应。其中,在 该页面/网页中将包括可操作的各个业务功能。
[0130] 当用户对页面中的业务功能进行操作时,用户可以携带被分配到的该会话令牌向 web服务发送第二网络请求。该第二网络请求用于请求服务器对该用户操作产生的业务数 据进行处理。
[0131] 发送第二网络请求的用户可以与发送第一网络请求的用户相同,也可以不同。当 二者相同时,则表示是同一个用户针对页面进行操作,可能是正常用户(合法进行请求的 用户),而当二者不同时,则表示发送第二网络请求的用户通过特殊方法获得了另一用户得 到的会话令牌和/或页面数据、甚至是伪造会话令牌和/或页面数据等,有发送恶意请求 的嫌疑。因而,对用户发送的各个网络请求都直接进行验证(从黑名单标记、发送频率、发 送时间、黑名单用户ID匹配、token等内容,分阶段验证如web服务器验证、第一应用服务 器验证等),能极大程度上避免非正常的非法用户对服务器侧的恶意请求或攻击。
[0132] 用户相同或不同,在网络请求中可以表现为用户的ID相同或不同。Web服务器310 可以接收来自用户的第二网络请求,其中,所述第二网络请求可以包括所述会话令牌。web 服务器310可以对该第二网络请求进行初步地恶意请求验证。转发通过验证的所述第二网 络请求至第一应用服务器320,拦截未通过验证的第二网络请求。
[0133] 例如:Web服务器310可以将包含黑名单用户标记的第二网络请求判定为恶意请 求并对该第二网络请求进行拦截,终止对该第二网络请求的进一步处理。Web服务器310将 不包含黑名单用户标记的第二网络请求转发给第一应用服务器320。第一应用服务器320 可以接收web服务器310转发的第二网络请求,并对该第二网络请求进行进一步的恶意请 求验证。若第二网络请求中包含token,那么,第一应用服务器320可以对第二网络请求中 包含的token进行合法性验证,以防虚假伪造的会话令牌。例如,该合法性验证可以验证该 token的格式是否正确,该token是否为空值等等,若该token格式不正确,或者token为空 值,则说明该token不合法,携带该token的第二网络请求是恶意请求。
[0134] 第一应用服务器320可以将第二网络请求中的第二网络请求信息与黑名单中的 黑名单信息进行匹配,若第二网络请求信息涉及的用户ID与其中一个黑名单信息中的用 户ID相匹配,则表示该第二网络请求为恶意请求。
[0135] 第一应用服务器320可以将是非恶意请求的第二网络请求转发给第二应用服务 器 330。
[0136] 第二应用服务器330可以接收第一应用服务器320转发的第二网络请求,并针对 该第二网络请求处理与第二网络请求对应的业务数据。例如,第二网络请求用于请求页面 中的一个功能(业务),例如:提交评论,则第二应用服务器330可以根据该第二网络请求 处理相关的业务数据,并将处理好的业务数据通过第一应用服务器320和Web服务器310 转发给用户。
[0137] 第二网络请求的验证处理,参见图2所示例子中,对第二网络请求的验证步骤 S230的处理过程。
[0138] 在本申请所述的系统中,为了增加系统的工作效率,web服务器310、第一应用服 务器320、第二应用服务器330的数量可以是一个或多个,或者服务器集群。
[0139] 当Web服务器310、第一应用服务器320、第二应用服务器330的数量都是一个时, 可以参照上述对系统的描述。
[0140] 当Web服务器310、第一应用服务器320、第二应用服务器330的数量都是多个时, 多个Web服务器310负责接收多个来自不同用户的第一网络请求和/或第二网络请求,并 对第一网络请求和/或第二网络请求进行初步的恶意请求判断,如,检测黑名单用户标记, 并且可以拦截恶意请求。根据业务种类的不同,如,提交评论、创建订单等。多个第一应用 服务器320中的每一个可以负责一个或多个业务功能,并且针对这些业务功能的第一网络 请求和/或第二网络请求进行进一步恶意请求检测并对恶意请求进行拦截。同样根据业务 功能的不同,多个第二应用服务器330中的每一个可以负责一个或多个业务数据的处理。
[0141] 例如:每个web服务器310对接收到的第一网络请求和/或第二网络请求进行初 步的恶意请求判断,拦截恶意请求,并根据第一网络请求和/或第二网络请求所请求的业 务功能的不同将非恶意请求的第一网络请求和/或第二网络请求分发给对应业务功能的 第一应用服务器320。第一应用服务器320对第一网络请求和/或第二网络请求做进一步 地恶意请求判断,拦截被判断为非法的恶意请求,而对判断为非恶意请求的第一网络请求 的用户分配会话令牌,和/或将判断为非恶意请求的第二网络请求转发至对应功能的第二 应用服务器430进行第二网络请求所请求的业务数据的处理。
[0142] 其中,可以将web服务器310和第一应用服务器320中涉及对第一网络请求的恶 意请求验证称作第一验证逻辑,涉及对第二网络请求的恶意请求验证称为第二验证逻辑。 可以将多个web服务器310或多个第一应用服务器320涉及的恶意请求验证方法进行统 一,并且多个web服务器310或多个第一应用服务器320中用于恶意请求验证的数据进行 共享。例如,多个第一应用服务器320共享黑名单数据。
[0143] 另外,第一应用服务器320还可以作为一个模块内嵌于web服务器310中或第二 应用服务器330中。
[0144] 本申请还提供了一种防止针对服务器的恶意请求的装置,如图4所示是根据本申 请一实施例的防止针对服务器的恶意请求的装置400的结构图。装置400可以包括:
[0145] 第一验证模块410,可以用于接收第一网络请求,并对第一网络请求进行第一验 证;该第一验证模块410的功能具体可以参见步骤S210。
[0146] 返回模块420,可以用于将第一验证的验证结果及基于第一网络请求生成的会话 令牌返回至发送第一网络请求的用户端的cookie中;第一验证的验证结果用于标识发送 第一网络请求的用户端是否通过验证;会话令牌用于标识用户对基于第一网络请求获取的 页面数据进行操作的权限。该返回模块420的功能具体可以参见步骤S220。
[0147] 第二验证模块430,可以用于接收第二网络请求,对接收到的第二网络请求进行第 二验证;其中,第一网络请求为页面数据请求,第二网络请求为用户基于第一网络请求获取 的页面数据进行操作而发出的数据处理请求;第二网络请求携带第一验证的验证结果及会 话令牌;第二验证包括:验证第二网络请求携带的第一验证的验证结果及会话令牌,以及 当第二网络请求携带的第一验证的验证结果及会话令牌通过验证时,验证发送第二网络请 求的用户信息是否在预设的黑名单中。若第二网络请求验证通过,则针对第二网络请求进 行相应业务数据处理。若第一网络请求验证未通过,则拦截第一网络请求。若第二网络请 求验证未通过,则拦截第二网络请求。
[0148] 该第二验证模块430的功能具体可以参见步骤S230。
[0149]由于图4所描述的本申请的装置所包括的各个模块及单元的具体实施方式与本 申请的方法中的步骤的具体实施方式是相对应的,由于已经对图2-图3进行了详细的描 述,所以为了不模糊本申请,在此不再对各个模块的具体细节进行描述。
[0150] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、 网络接口和内存。
[0151] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/ 或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质 的示例。
[0152] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法 或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。 计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、 动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁 性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中 的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信 号和载波。
[0153] 还需要说明的是,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的 包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包 括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要 素。在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排除在包括所 述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0154] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。 因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的 形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存 储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形 式。
[0155] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员 来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同 替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1. 一种防止针对服务器的恶意请求的方法,其特征在于,包括: 接收第一网络请求,并对第一网络请求进行第一验证; 将所述第一验证的验证结果及基于第一网络请求生成的会话令牌返回至发送第一网 络请求的用户端的cookie中;所述第一验证的验证结果用于标识发送第一网络请求的用 户端是否通过验证;所述会话令牌用于标识用户对基于第一网络请求获取的页面数据进行 操作的权限; 接收第二网络请求,对接收到的第二网络请求进行第二验证;其中,第一网络请求为页 面数据请求,第二网络请求为用户基于第一网络请求获取的页面数据进行操作而发出的数 据处理请求;第二网络请求携带所述第一验证的验证结果及会话令牌; 所述第二验证包括:验证所述第二网络请求携带的所述第一验证的验证结果及会话令 牌,以及当所述第二网络请求携带的所述第一验证的验证结果及会话令牌通过验证时,验 证发送第二网络请求的用户信息是否在预设的黑名单中; 若所述第二网络请求验证通过,则针对所述第二网络请求进行相应业务数据处理; 若所述第二网络请求验证未通过,则拦截所述第二网络请求。
2. 根据权利要求1所述的方法,其特征在于,所述第二网络请求验证未通过,包括: 所述第二网络请求携带的所述第一验证的验证结果中包括黑名单用户标记,和/或 所述第二网络请求携带的所述会话令牌不合法,和/或所述第二请网络请求不存在会话令 牌,和/或所述第二网络请求的用户信息与预设的黑名单中的黑名单信息相匹配。
3. 根据权利要求2所述的方法,其特征在于,所述第二网络请求验证未通过,还包括: 当所述第二网络请求携带的会话令牌不合法时,和/或,当所述第二网络请求不存在 会话令牌时,将所述第二验证的验证结果返回至发送所述第二网络请求的用户端的cookie 中,以根据所述第二验证的验证结果,为发送所述第二网络请求的用户添加黑名单用户标 记。
4. 根据权利要求1所述的方法,其特征在于,对所述第一网络请求进行第一验证,至少 包括: 验证所述第一网络请求是否包含的黑名单用户标记;和/或; 验证发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请 求的时间间隔,是否大于预设的时间间隔阈值;和/或, 验证发送所述第一网络请求的用户在预定时间段内发送第一网络请求的次数,是否等 于预设的请求次数阈值;和/或, 将所述第一网络请求中包含的用户信息与所述预设的黑名单中的黑名单信息进行匹 配。
5. 根据权利要求4所述的方法,其特征在于,所述第一网络请求验证未通过,包括: 所述第一网络请求中包含黑名单用户标记;和/或 发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请求的 时间间隔,小于或等于预设的时间间隔阈值;和/或 发送所述第一网络请求的用户在预定时间段内发送第一网络请求的次数,等于预设的 请求次数阈值;和/或 所述第一网络请求中包含的用户信息与预设的黑名单中的黑名单信息相匹配。
6. 根据权利要求5所述的方法,其特征在于,还包括: 当发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请求 的时间间隔小于或等于预设的时间间隔阈值时,和/或当发送所述第一网络请求的用户在 预定时间段内发送第一网络请求的次数等于预设的请求次数阈值时,根据所述第一验证的 验证结果,为发送所述第一网络请求的用户添加黑名单用户标记。
7. -种防止针对服务器的恶意请求的系统,其特征在于,包括:web服务器,第一应用 服务器,第二应用服务器;其中, 所述web服务器接收网络请求,并对所述网络请求进行初步地恶意请求验证,转发通 过验证的所述网络请求至第一应用服务器,拦截未通过验证的所述网络请求; 所述第一应用服务器接收所述web服务器转发的网络请求,并对所述网络请求进行进 一步的恶意请求验证,为发送通过验证的所述网络请求的用户分配合法的会话令牌或转发 所述网络请求到第二应用服务器,为发送未通过验证被拦截的所述网络请求的用户添加黑 名单用户标记和/或拒绝执行业务数据处理; 所述第二应用服务器接收所述第二应用服务器转发来的网络请求,并针对所述网络请 求进行相应的业务数据处理。
8. 根据权利要求7所述的系统,其特征在于:所述网络请求包括第一网络请求或第二 网络请求,其中, 所述web服务器对所述网络请求进行初步地恶意请求验证包括: 验证所述第一网络请求的第一网络请求信息和所述第二网络请求的第二网络请求信 息是否包含黑名单用户标记,若包含黑名单用户标记,则验证不通过; 所述第一应用服务器对所述网络请求进行进一步的恶意请求验证包括: 验证发送所述第一网络请求的用户上一次发送第一网络请求的时间与本次发送第一 网络请求的时间是否小于预定的时间间隔阈值,和/或发送所述第一网络请求的用户在预 定时间段内发送第一网络请求的次数是否等于预设的请求次数阈值,和/或所述第一网络 请求的用户的信息是否存在相匹配的黑名单信息,若是,则验证不通过; 验证发送所述第二网络请求的会话令牌是否合法,和/或所述第二网络请求信息是否 存在相匹配的黑名单信息,若是,则验证不通过。
9. 一种防止针对服务器的恶意请求的装置,其特征在于,包括: 第一验证模块,用于接收第一网络请求,并对第一网络请求进行第一验证: 返回模块,用于将所述第一验证的验证结果及基于第一网络请求生成的会话令牌返回 至发送第一网络请求的用户端的cookie中;所述第一验证的验证结果用于标识发送第一 网络请求的用户端是否通过验证;所述会话令牌用于标识用户对基于第一网络请求获取的 页面数据进行操作的权限; 第二验证模块,用于接收第二网络请求,对接收到的第二网络请求进行第二验证;其 中,第一网络请求为页面数据请求,第二网络请求为用户基于第一网络请求获取的页面数 据进行操作而发出的数据处理请求;第二网络请求携带所述第一验证的验证结果及会话令 牌;所述第二验证包括:验证所述第二网络请求携带的所述第一验证的验证结果及会话令 牌,以及当所述第二网络请求携带的所述第一验证的验证结果及会话令牌通过验证时,验 证发送第二网络请求的用户信息是否在预设的黑名单中;其中,若所述第二网络请求验证 通过,则针对所述第二网络请求进行相应业务数据处理;若所述第二网络请求验证未通过, 则拦截所述第二网络请求。
10. 根据权利要求9所述的装置,其特征在于,所述第二验证模块中,第二网络请求验 证未通过,至少包括: 所述第二网络请求携带的所述第一验证的验证结果中包括黑名单用户标记,和/或 所述第二网络请求携带的所述会话令牌不合法,和/或所述第二请网络请求不存在会话令 牌,和/或所述第二网络请求的用户信息与预设的黑名单中的黑名单信息相匹配;和/或, 当所述第二网络请求携带的会话令牌不合法时,和/或,当所述第二网络请求不存在 会话令牌时,将所述第二验证的验证结果返回至发送所述第二网络请求的用户端的cookie 中,以根据所述第二验证的验证结果,为发送所述第二网络请求的用户添加黑名单用户标 记。
11. 根据权利要求9所述的装置,其特征在于,所述第一验证模块中,对所述第一网络 请求进行第一验证,至少包括: 验证所述第一网络请求是否包含的黑名单用户标记;和/或;验证发送所述第一网络 请求的用户上一次发送第一网络请求与本次发送第一网络请求的时间间隔,是否大于预设 的时间间隔阈值;和/或,验证发送所述第一网络请求的用户在预定时间段内发送第一网 络请求的次数,是否等于预设的请求次数阈值;和/或,将所述第一网络请求中包含的用户 信息与所述预设的黑名单中的黑名单信息进行匹配。
12. 根据权利要求10至11之一所述的装置,其特征在于,第一验证模块还包括: 所述第一网络请求验证未通过,至少包括:所述第一网络请求中包含黑名单用户标记; 和/或发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请求 的时间间隔,小于或等于预设的时间间隔阈值;和/或发送所述第一网络请求的用户在预 定时间段内发送第一网络请求的次数,等于预设的请求次数阈值;和/或所述第一网络请 求中包含的用户信息与预设的黑名单中的黑名单信息相匹配;和/或 当发送所述第一网络请求的用户上一次发送第一网络请求与本次发送第一网络请求 的时间间隔小于或等于预设的时间间隔阈值时,和/或当发送所述第一网络请求的用户在 预定时间段内发送第一网络请求的次数等于预设的请求次数阈值时,根据所述第一验证的 验证结果,为发送所述第一网络请求的用户添加黑名单用户标记。
CN201310455061.2A 2013-09-29 2013-09-29 一种防止针对服务器的恶意请求的方法、装置和系统 Active CN104519018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310455061.2A CN104519018B (zh) 2013-09-29 2013-09-29 一种防止针对服务器的恶意请求的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310455061.2A CN104519018B (zh) 2013-09-29 2013-09-29 一种防止针对服务器的恶意请求的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104519018A true CN104519018A (zh) 2015-04-15
CN104519018B CN104519018B (zh) 2018-09-18

Family

ID=52793759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310455061.2A Active CN104519018B (zh) 2013-09-29 2013-09-29 一种防止针对服务器的恶意请求的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104519018B (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160572A (zh) * 2015-09-30 2015-12-16 努比亚技术有限公司 控制订单生成的装置、方法及秒杀系统
CN105184149A (zh) * 2015-08-11 2015-12-23 广东欧珀移动通信有限公司 一种防止恶意程序频繁获取用户位置信息的方法及系统
CN105763560A (zh) * 2016-04-15 2016-07-13 北京思特奇信息技术股份有限公司 一种Web Service接口流量实时监控方法和系统
CN105915497A (zh) * 2015-12-14 2016-08-31 乐视网信息技术(北京)股份有限公司 针对用户跳转登录的处理方法及系统
CN106101059A (zh) * 2016-05-23 2016-11-09 微梦创科网络科技(中国)有限公司 一种网页请求处理方法及装置
CN106302481A (zh) * 2016-08-19 2017-01-04 中国银联股份有限公司 检测WebSocket跨站请求伪造漏洞的方法和装置
CN106453266A (zh) * 2016-09-20 2017-02-22 微梦创科网络科技(中国)有限公司 一种异常网络请求检测方法与装置
CN106506524A (zh) * 2016-11-30 2017-03-15 百度在线网络技术(北京)有限公司 用于验证用户的方法和装置
CN106850592A (zh) * 2017-01-13 2017-06-13 咪咕视讯科技有限公司 一种信息处理方法、服务器及终端
CN107196811A (zh) * 2017-07-13 2017-09-22 上海幻电信息科技有限公司 视频网站防盗链控制系统与方法
CN107360132A (zh) * 2017-06-02 2017-11-17 上海斐讯数据通信技术有限公司 一种防止会话重演的方法及系统
CN107426181A (zh) * 2017-06-20 2017-12-01 竞技世界(北京)网络技术有限公司 恶意Web访问请求的拦截方法及装置
CN107465693A (zh) * 2017-09-18 2017-12-12 北京小度信息科技有限公司 请求消息处理方法和装置
CN107517252A (zh) * 2017-08-22 2017-12-26 福建中金在线信息科技有限公司 一种文件下载控制方法、装置及系统
CN107634942A (zh) * 2017-09-08 2018-01-26 北京京东尚科信息技术有限公司 识别恶意请求的方法和装置
CN107704761A (zh) * 2017-09-27 2018-02-16 北京小度信息科技有限公司 数据处理方法、装置、电子设备和存储介质
CN108011805A (zh) * 2016-12-29 2018-05-08 北京车和家信息技术有限责任公司 消息过滤的方法、装置、中间服务器及车联网系统
CN108111501A (zh) * 2017-12-15 2018-06-01 百度在线网络技术(北京)有限公司 作弊流量的控制方法、装置和计算机设备
CN108390878A (zh) * 2018-02-26 2018-08-10 腾讯科技(深圳)有限公司 用于验证网络请求安全性的方法、装置
CN108400955A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 一种网络攻击的防护方法及系统
CN108462713A (zh) * 2018-03-22 2018-08-28 北京可信华泰信息技术有限公司 一种客户端进行可信验证的方法和系统
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN108900555A (zh) * 2018-08-22 2018-11-27 郑州云海信息技术有限公司 一种数据处理方法及装置
CN109040024A (zh) * 2018-07-06 2018-12-18 广东微云科技股份有限公司 一种资源访问权限控制方法及系统
CN109361685A (zh) * 2018-11-15 2019-02-19 北京农信互联科技集团有限公司 一种防止恶意请求的方法及装置
CN109391600A (zh) * 2017-08-10 2019-02-26 东软集团股份有限公司 分布式拒绝服务攻击防护方法、装置、系统、介质及设备
CN110099031A (zh) * 2018-01-30 2019-08-06 普天信息技术有限公司 一种服务调用方法、装置及微服务平台
CN110232265A (zh) * 2019-06-21 2019-09-13 杭州安恒信息技术股份有限公司 双重身份认证方法、装置及系统
CN110278271A (zh) * 2019-06-24 2019-09-24 厦门美图之家科技有限公司 网络请求控制方法、装置及终端设备
CN110933068A (zh) * 2019-11-26 2020-03-27 秒针信息技术有限公司 黑白名单实时优化方法、装置、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295169A1 (en) * 2007-05-25 2008-11-27 Crume Jeffery L Detecting and defending against man-in-the-middle attacks
CN101729514A (zh) * 2008-10-23 2010-06-09 华为技术有限公司 一种业务调用的实现方法及装置和系统
CN103248472A (zh) * 2013-04-16 2013-08-14 华为技术有限公司 一种处理操作请求的方法、系统以及攻击识别装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295169A1 (en) * 2007-05-25 2008-11-27 Crume Jeffery L Detecting and defending against man-in-the-middle attacks
CN101729514A (zh) * 2008-10-23 2010-06-09 华为技术有限公司 一种业务调用的实现方法及装置和系统
CN103248472A (zh) * 2013-04-16 2013-08-14 华为技术有限公司 一种处理操作请求的方法、系统以及攻击识别装置

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184149A (zh) * 2015-08-11 2015-12-23 广东欧珀移动通信有限公司 一种防止恶意程序频繁获取用户位置信息的方法及系统
CN105184149B (zh) * 2015-08-11 2018-07-06 广东欧珀移动通信有限公司 一种防止恶意程序频繁获取用户位置信息的方法及系统
CN105160572A (zh) * 2015-09-30 2015-12-16 努比亚技术有限公司 控制订单生成的装置、方法及秒杀系统
CN105915497A (zh) * 2015-12-14 2016-08-31 乐视网信息技术(北京)股份有限公司 针对用户跳转登录的处理方法及系统
CN105763560A (zh) * 2016-04-15 2016-07-13 北京思特奇信息技术股份有限公司 一种Web Service接口流量实时监控方法和系统
CN106101059B (zh) * 2016-05-23 2019-05-17 微梦创科网络科技(中国)有限公司 一种网页请求处理方法及装置
CN106101059A (zh) * 2016-05-23 2016-11-09 微梦创科网络科技(中国)有限公司 一种网页请求处理方法及装置
CN106302481A (zh) * 2016-08-19 2017-01-04 中国银联股份有限公司 检测WebSocket跨站请求伪造漏洞的方法和装置
CN106453266A (zh) * 2016-09-20 2017-02-22 微梦创科网络科技(中国)有限公司 一种异常网络请求检测方法与装置
CN106506524A (zh) * 2016-11-30 2017-03-15 百度在线网络技术(北京)有限公司 用于验证用户的方法和装置
CN108011805A (zh) * 2016-12-29 2018-05-08 北京车和家信息技术有限责任公司 消息过滤的方法、装置、中间服务器及车联网系统
CN106850592A (zh) * 2017-01-13 2017-06-13 咪咕视讯科技有限公司 一种信息处理方法、服务器及终端
CN108400955A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 一种网络攻击的防护方法及系统
CN107360132A (zh) * 2017-06-02 2017-11-17 上海斐讯数据通信技术有限公司 一种防止会话重演的方法及系统
CN107426181A (zh) * 2017-06-20 2017-12-01 竞技世界(北京)网络技术有限公司 恶意Web访问请求的拦截方法及装置
CN107196811A (zh) * 2017-07-13 2017-09-22 上海幻电信息科技有限公司 视频网站防盗链控制系统与方法
CN109391600A (zh) * 2017-08-10 2019-02-26 东软集团股份有限公司 分布式拒绝服务攻击防护方法、装置、系统、介质及设备
CN107517252A (zh) * 2017-08-22 2017-12-26 福建中金在线信息科技有限公司 一种文件下载控制方法、装置及系统
CN107634942A (zh) * 2017-09-08 2018-01-26 北京京东尚科信息技术有限公司 识别恶意请求的方法和装置
CN107634942B (zh) * 2017-09-08 2020-07-31 北京京东尚科信息技术有限公司 识别恶意请求的方法和装置
CN107465693B (zh) * 2017-09-18 2020-06-16 北京星选科技有限公司 请求消息处理方法和装置
CN107465693A (zh) * 2017-09-18 2017-12-12 北京小度信息科技有限公司 请求消息处理方法和装置
CN107704761B (zh) * 2017-09-27 2020-09-01 北京星选科技有限公司 数据处理方法、装置、电子设备和存储介质
CN107704761A (zh) * 2017-09-27 2018-02-16 北京小度信息科技有限公司 数据处理方法、装置、电子设备和存储介质
CN108111501A (zh) * 2017-12-15 2018-06-01 百度在线网络技术(北京)有限公司 作弊流量的控制方法、装置和计算机设备
CN108111501B (zh) * 2017-12-15 2021-08-20 百度在线网络技术(北京)有限公司 作弊流量的控制方法、装置和计算机设备
CN110099031A (zh) * 2018-01-30 2019-08-06 普天信息技术有限公司 一种服务调用方法、装置及微服务平台
CN108390878A (zh) * 2018-02-26 2018-08-10 腾讯科技(深圳)有限公司 用于验证网络请求安全性的方法、装置
CN108462713B (zh) * 2018-03-22 2021-07-02 北京可信华泰信息技术有限公司 一种客户端进行可信验证的方法和系统
CN108462713A (zh) * 2018-03-22 2018-08-28 北京可信华泰信息技术有限公司 一种客户端进行可信验证的方法和系统
CN109040024A (zh) * 2018-07-06 2018-12-18 广东微云科技股份有限公司 一种资源访问权限控制方法及系统
CN108471432B (zh) * 2018-07-11 2020-09-11 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN108900555A (zh) * 2018-08-22 2018-11-27 郑州云海信息技术有限公司 一种数据处理方法及装置
CN109361685A (zh) * 2018-11-15 2019-02-19 北京农信互联科技集团有限公司 一种防止恶意请求的方法及装置
CN110232265A (zh) * 2019-06-21 2019-09-13 杭州安恒信息技术股份有限公司 双重身份认证方法、装置及系统
CN110278271A (zh) * 2019-06-24 2019-09-24 厦门美图之家科技有限公司 网络请求控制方法、装置及终端设备
CN110933068A (zh) * 2019-11-26 2020-03-27 秒针信息技术有限公司 黑白名单实时优化方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN104519018B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN104519018A (zh) 一种防止针对服务器的恶意请求的方法、装置和系统
CN103490884B (zh) 用于数字证书的验证的方法
CN103607385B (zh) 基于浏览器进行安全检测的方法和装置
US20170034148A1 (en) DISTINGUISH VALID USERS FROM BOTS, OCRs AND THIRD PARTY SOLVERS WHEN PRESENTING CAPTCHA
CN102480490B (zh) 一种用于防止csrf攻击的方法和设备
US9152808B1 (en) Adapting decoy data present in a network
CN102484640B (zh) 用于解决检测到的威胁的方法和装置
CN100361452C (zh) 响应拒绝服务攻击的方法和设备
CN104184713B (zh) 终端识别方法、机器识别码注册方法及相应系统、设备
US10880306B2 (en) Verification information update
US9361457B1 (en) Use of decoy data in a data store
CN103179134A (zh) 基于Cookie的单点登录方法、系统及其应用服务器
CN105763521A (zh) 一种设备验证方法及装置
CN104348809A (zh) 网络安全监控方法及系统
CN106302308B (zh) 一种信任登录方法和装置
CN102571846A (zh) 一种转发http请求的方法及装置
CN101771532A (zh) 实现资源共享的方法、装置及系统
CN108712263B (zh) 信息验证方法、装置、系统和计算机可读存储介质
WO2020248658A1 (zh) 一种异常账户的检测方法及装置
CN109241733A (zh) 基于Web访问日志的爬虫行为识别方法及装置
CN109802941A (zh) 一种登录验证方法、装置、存储介质和服务器
CN109660552A (zh) 一种将地址跳变和WAF技术相结合的Web防御方法
CN109413000B (zh) 一种防盗链方法及防盗链网关系统
CN107659574A (zh) 一种数据访问控制系统
CN104462392A (zh) 分享回流量的统计方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant