CN107241300B - 用户请求的拦截方法和装置 - Google Patents

用户请求的拦截方法和装置 Download PDF

Info

Publication number
CN107241300B
CN107241300B CN201610187033.0A CN201610187033A CN107241300B CN 107241300 B CN107241300 B CN 107241300B CN 201610187033 A CN201610187033 A CN 201610187033A CN 107241300 B CN107241300 B CN 107241300B
Authority
CN
China
Prior art keywords
user
value
activity
address
request
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.)
Active
Application number
CN201610187033.0A
Other languages
English (en)
Other versions
CN107241300A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610187033.0A priority Critical patent/CN107241300B/zh
Publication of CN107241300A publication Critical patent/CN107241300A/zh
Application granted granted Critical
Publication of CN107241300B publication Critical patent/CN107241300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种用户请求的拦截方法和装置。所述方法的一具体实施方式包括:获取用户请求的活动ID,判断缓存服务器中是否存在与所述活动ID对应的数据;如果否,判断所述用户请求的用户IP地址是否包含在预设的IP地址集合中;当所述用户IP地址包含在所述IP地址集合中,标记所述用户请求;否则,判断所述活动ID的数值是否大于预设的缓存服务器中存储的最大活动ID值;记录所述活动ID的数值大于所述最大活动ID值的用户请求;拦截所述具有记录的用户请求。该实施方式实现了全面、准确的拦截非法的用户请求。

Description

用户请求的拦截方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种用户请求的拦截方法和装置。
背景技术
随着互联网的普及,一些不法分子利用网络漏洞,通过各种不法行为寻找程序漏洞攻击网络系统。大多通过应用程序,在一段时间内,不断的向服务器发送能够影响服务器正常运作的非法请求。在极短的时间内大量的非法请求查询数据库,造成数据库负载增加,使正常访问网站的请求响应变慢或无法访问。
当前大多数的web网站采用tomcat+缓存+数据库的架构,用户访问网站时会先给服务端发请求,服务端根据请求参数去查询缓存服务器,用户请求的数据是否存在,如果存在就把数据从缓存服务器获取出来返给用户,如果不存在就查询数据库,把查到的数据放进缓存服务器并返给用户。如果构建非法请求参数访问不存在的内容,因为请求的内容数据库不存在,所以缓存也不存在,缓存不存在就会去查询数据库,一次非法请求,就会查询一次数据库。如果不断向系统发送大量非法请求,数据库压力增大,大量非法请求访问数据库,轻则使数据库的压力、负载不断增大,正常访问网站的请求响应变慢,重则使数据库阻塞甚至挂掉,从而使网站无法使用。
在现有技术中,使用http referer判断的方法对非法请求进行拦截。
Http referer是网页请求header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器是从哪个页面链接过来的,服务端可以过滤掉不带referer或非法referer的请求。但是带有伪造referer功能的非法请求,可以轻易通过服务端的referer验证,还可以通过修改网页链接内容,达到绕过referer验证的效果,同时对于一些不支持referer的浏览器的正常访问,被当成非法请求而拦截。
因此,现有的页面请求的拦截方法,存在着对正常用户的误判和对恶意请求或非法请求的漏判,影响服务器的正常工作以及其他用户正常使用。
发明内容
本申请的目的在于针对非法请求提出一种用户请求的拦截方法和装置,以解决现有技术存在的对非法请求的拦截方法中出现的误判和漏判的问题。
第一方面,本申请提供了一种用户请求的拦截方法,所述方法包括:获取用户请求的活动ID,判断缓存服务器中是否存在与所述活动ID对应的数据,所述活动ID为与数据库服务器中的数据关联,并能唯一标示所述数据的标识码;如果否,判断所述用户请求的用户IP地址是否包含在预设的IP地址集合中;如果所述用户IP地址包含在所述IP地址集合中,记录所述用户请求;如果所述用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于所述缓存区域中存储的最大活动ID值;记录所述活动ID的数值大于所述最大活动ID值的用户请求;拦截所述具有记录的用户请求。
在一些实施例中,所述判断缓存服务器中是否存在与所述活动ID对应的数据,包括:判断所述活动ID是否与所述缓存服务器中缓存的数据所对应的ID相同;如果是,则所述缓存服务器中存在与所述活动ID对应的数据;否则,所述缓存服务器中不存在与所述活动ID对应的数据。
在一些实施例中,所述记录所述活动ID的数值大于所述最大活动ID值的用户请求,还包括:在缓存区域中记录所述用户请求的用户IP地址。
在一些实施例中,所述IP地址集合是由在设定时间段内访问所述数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。
在一些实施例中,所述方法还包括:判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出所述访问次数阈值;如果是,添加所述用户IP地址到所述IP地址集合中;否则,记录所述用户IP地址的请求次数。
在一些实施例中,所述如果用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于缓存区域中最大活动ID值,包括:在缓存区域中提取所述最大活动ID值;比较所述活动ID的数值与所述最大活动ID值的大小;当所述活动ID的数值小于或等于所述最大活动ID值时,查询所述数据库服务器;将查询到的数据写入缓存服务器。
在一些实施例中,所述方法还包括:判断所述数据库服务器是否有数据写入;如果是,提取所述数据写入数据库服务器中所生成的数据库主键ID的值;由所述数据库主键ID的值设置所述最大活动ID的值。
第二方面,本申请提供了一种用户请求拦截装置,所述装置包括:获取单元,配置用于获取用户请求的活动ID,判断缓存服务器中是否有与所述活动ID对应的数据,所述活动ID为与数据库服务器中的数据关联,并能唯一标示所述数据的标识码;IP判断单元,配置用于,判断所述用户请求的用户IP地址是否包含在预设的IP地址集合中;比较单元,配置用于,如果用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于所述缓存区域中存储的最大活动ID值;标记单元,配置用于当所述用户IP地址包含在所述IP地址集合中或当所述活动ID的数值大于所述最大活动ID值,记录所述用户请求;拦截单元,配置用于拦截所述具有记录的用户请求。
在一些实施例中,所述比较单元进一步配置用于:判断所述活动ID是否与所述缓存服务器中缓存的数据所对应的ID相同;如果是,则所述缓存服务器中存在与所述活动ID对应的数据;否则,所述缓存服务器中不存在与所述活动ID对应的数据。
在一些实施例中,所述记录单元还用于在缓存区域中记录所述用户请求的用户IP地址。
在一些实施例中,所述IP地址集合是由在设定时间段内访问所述数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。
在一些实施例中,所述装置包括IP更新单元,配置用于:判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出所述访问次数阈值;如果是,添加所述用户IP地址到所述IP地址集合中;否则,记录所述用户IP地址的请求次数。
在一些实施例中,所述比较单元进一步用于:在缓存区域中提取所述最大活动ID值;比较所述活动ID的数值与所述最大活动ID值的大小;当所述活动ID的数值小于或等于所述最大活动ID值时,查询所述数据库服务器;将查询到的数据写入缓存服务器。
在一些实施例中,所述装置还包括最大活动ID值设置单元,配置用于:判断所述数据库服务器是否有数据写入;如果是,提取所述数据写入数据库服务器中所生成的数据库主键ID的值;由所述数据库主键ID的值设置所述最大活动ID的值。
本申请提供的用户请求的拦截方法和装置,首先获取用户请求的活动ID,判断缓存服务器中是否存在与所述活动ID对应的数据,如果在缓存服务器中不存在对应的数据,然后,判断在预设的IP地址集合中是否包含所述用户请求的用户IP地址;如果包含,记录所述用户请求;如果不包含,接着,判断所述活动ID的数值是否大于所述缓存区域中存储的最大活动ID值;如果活动ID的数值大于最大活动ID值,记录所述用户请求;最后,拦截具有记录的用户请求。本申请提供的用户请求的拦截方法实现了全面、准确的拦截非法用户请求。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用户请求的拦截方法的一个实施例的流程图;
图3是根据本申请的用户请求的拦截方法的一个应用场景的示意图;
图4是根据本申请的用户请求的拦截方法的又一个实施例的流程图;
图5是根据本申请的用户请求拦截装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用户请求的拦截方法或用户请求的拦截装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102、应用服务器103、缓存服务器104和数据库服务器105。网络102用以在终端设备101和应用服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息实现业务数据的交互;应用服务器103根据终端用户的访问请求查询缓存服务器104或数据库服务器105,并将查询结果返回在终端设备。
终端设备101可以是具有显示屏和输入功能并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
应用服务器103可以是提供各种服务的服务器,例如对终端设备101发送的用户访问网页请求提供管理和网页服务的web服务器。web服务器可以对接收到的网页请求等数据进行分析等处理,并将处理结果(例如,提供网页页面数据或拒绝提供网页页面数据)反馈给终端设备。应用服务器103中设置用于存放信息的缓存区域。
缓存服务器104用于缓存数据,缓存服务器104可以是单独设置的服务器,也可以是在应用服务器103中单独设置的缓存区域。
数据库服务器105用于存储数据,并提供数据的查询、更新、事务管理用户存取控制等。
需要说明的是,本申请实施例所提供的用户请求的拦截方法一般由应用服务器103执行,相应地,用户请求的拦截装置一般设置于应用服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用户请求的拦截方法的一个实施例的流程200。所述的用户请求的拦截方法,包括以下步骤:
步骤201,获取用户请求的活动ID,判断缓存服务器中是否存在与活动ID对应的数据。
在本实施例中,用户请求的拦截方法运行于其上的电子设备(例如图1所示的应用服务器)可以通过有线连接方式或者无线连接方式从终端设备接收用户访问页面的浏览请求,其中,上述用户的浏览请求包括了用户期望浏览的网页的地址,即网址。网址中包括与数据库链接并能够唯一标识页面数据的标识码,该标识码使用活动ID表示。同时,数据库主键ID表示与数据库服务器中页面数据链接并唯一标识页面数据的标识码。当用户请求的活动ID与数据库主键ID一致时,该数据库主键ID链接的页面数据被命中、并将该页面数据返回到用户请求的终端。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
本实施例中,用户利用终端设备上安装的网页浏览器来浏览网页或访问网站,先给服务端(如应用服务器)发出页面浏览请求或访问请求,该用户请求可以是一个超文本传输协议请求(Http请求),用于向服务端请求返回用户需要的页面数据,其中,页面数据可以是用于实现某些业务功能的代码或资源,如:搜索、查询、网上交易或其他信息交互等等。服务端根据用户请求首先查询缓存服务器是否有与用户请求对应的页面数据,如果存在,就将该页面数据从缓存服务器提取,并将提取出的页面数据返回给客户端。作为示例,在访问网址为http://xx.yy.com/redIndex/12.html的用户请求中,12是该用户请求的活动ID,如果在数据库服务器中有与该网址链接对应的页面数据,则12也是该页面数据的数据库主键ID。
在本实施例的一些可选的实现方式中,上述电子设备判断缓存服务器中是否存在与活动ID对应的数据,包括:判断活动ID是否与缓存服务器中缓存的数据所对应的ID相同;如果是,则缓存服务器中存在与活动ID对应的数据;否则,缓存服务器中不存在与活动ID对应的数据。这里,当数据由数据库服务器写入缓存服务器时,与该数据链接的数据库主键ID存储于缓存区域。上述电子设备根据用户请求提取出活动ID,在缓存区域中查找与数据对应的数据库主键ID,当在缓存区域中有与活动ID的值相同数据库主键ID时,缓存服务器中存在与活动ID对应的数据,提取该数据,并将数据返回用户所在的终端。当缓存区域中的数据库主键ID不存在与活动ID相同的值时,缓存服务器中不存在与活动ID对应的数据。
步骤202,判断用户请求的用户IP地址是否包含在预设的IP地址集合中。
在本实施例中,用户请求的拦截方法运行于其上的电子设备(例如图1所示的应用服务器)基于步骤201中判断的结果,如果缓存服务器中不存在与活动ID对应数据,提取该用户请求的用户IP地址,通过查询、比较或其他的手段来判断该用户IP地址是否包含在预设的IP地址集合中。其中,预设的IP地址集合是一个黑名单,可以是通过预先对大量的用户数据进行分析,找出发送非法请求的用户,将该用户列入黑名单中,即将该发送非法请求用户的IP地址加入到IP地址集合中。
在本实施例的一些可选的实现方式中,IP地址集合是由在设定时间段内访问数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。其中,访问次数阈值可以通过人工的方式设定,也可以由上述电子设备根据历史数据分析后设定。这里,上述电子设备将用户IP地址与预设的IP地址集合比较,判断该用户IP地址是否在黑名单中。进行黑名单检查,查看该用户是否有发送非法请求的不良记录,若存在不良记录则可以限制正常的业务流程,对用户的访问请求进行拦截。
在本实施例的一些可选的实现方式中,还包括通过如下的方法在预设的IP地址集合中添加用户IP地址:提取缓存区域中记录的用户IP地址的请求次数,判断该用户IP地址在预设的时间段内请求访问数据库服务器的次数是否超出访问次数阈值;如果超出,添加该用户IP地址到IP地址集合中;否则,记录用户IP地址的请求次数。访问次数阈值可以通过人工的方式设定,也可以由上述电子设备根据历史数据分析后设定。例如,可以通过设置非法请求次数上限,例如为z,z可以动态的配置,配置后存储于缓存服务器中,将记录的用户IP地址请求访问次数值与z比较,当满足同一个IP地址的记录次数大于或等于z的时候,就把本次请求的IP地址添加到预设的IP地址集合中。
步骤203,判断活动ID的数值是否大于缓存区域中存储的最大活动ID值。
在本实施例中,上述电子设备基于步骤202中判断的结果,如果用户IP地址包含在预设的IP地址集合中,与该用户IP地址对应的用户请求为非法请求,记录该用户请求。如果用户IP地址不包含在预设的IP地址集合中,该用户请求可以查询数据库服务器,通过判断活动ID的数值是否大于缓存区域中存储的最大活动ID值确定数据库中是否有与用户请求对应的数据链接。
这里,在上述电子设备中设置的缓存区域中记录上述用户IP地址包含在预设的IP地址集合中的用户请求,以及记录最大活动ID值。其中,最大活动ID值与数据库主键ID的最大值一致。当用户IP地址不包含在预设的IP地址集合中,上述电子设备比较活动ID的数值与最大活动ID值的大小。
步骤204,记录活动ID的数值大于最大活动ID值的用户请求。
在本实施例中,上述电子设备可以将上述用户请求的活动ID值与最大活动ID值比较,如果用户请求的活动ID的数值大于最大活动ID值,则在数据库服务器中不存在与用户请求对应的数据链接,用户请求为非法请求,在预设的缓存区域中记录该用户请求。
在本实施例的一些可选的实现方式中,当活动ID的数值大于最大活动ID值时,在预设的缓存区域中记录该用户的用户IP地址。
步骤205,拦截具有记录的用户请求。
在本实施例中,基于步骤201到步骤204中的操作结果,上述电子设备可以从缓存区域提取出具有记录的用户请求,在本实施例中具有记录的用户请求是非法请求或恶意请求,其用户的页面访问请求被限制。拦截具有记录的用户请求,拒绝其访问页面的请求。
继续参见图3,图3是根据本实施例的用户请求的拦截方法的应用场景的一个示意图。在图3的应用场景中,如图3-A所示,用户发起一个访问页面的请求,由该页面请求确定出该页面的连接网址,其访问链接为http:/xx.yy.com/redIndex/199.html,提取出该用户请求的活动ID,将活动ID号和缓存区域中数据数据库主键ID比较,如果有与该活动ID相同的数据库主键ID,则缓服务器中有对应于用户请求的业务数据,否则,需要在数据库服务器中查询。为减少对数据库服务器无效的查询,在预设的IP地址集合中查找是否包含用户IP地址,如果包含,该用户请求为非法请求,拒绝该用户请求。如果不包含,比较活动ID和最大活动ID的值;根据比较结果,用户请求的活动ID大于最大活动ID的值为非法请求,拒绝该用户请求;否则,将根据用户请求的ID访问数据库服务器,并将数据库服务器的对应数据返回用户端。在本应用场景中,用户在终端设备发出访问请求,其访问链接为http:/xx.yy.com/redIndex/199.html,从用户请求的访问链接中得到活动ID的值为199,如果数据库服务器中最新数据的数据库主键ID是100,根据活动ID的值和最大活动ID的值确定该用户请求为非法请求,拦截该用户请求,并拒绝该用户的访问请求,如图3-B所示。
本申请的上述实施例提供的方法通过将用户活动ID和用户IP地址分别与最大活动ID和IP地址集合比较,确定该用户请求是否为非法请求,拦截用户非法请求。
进一步参考图4,其示出了用户请求的拦截方法的又一个实施例的流程400。该用户请求的拦截方法的流程400,包括以下步骤:
步骤401,获取用户请求的活动ID,判断缓存服务器中是否存在与活动ID对应的数据。
在本实施例中,用户请求的拦截方法运行于其上的电子设备(例如图1所示的应用服务器)可以通过有线连接方式或者无线连接方式从终端设备获取用户的用户请求(网页访问请求)。其中,上述用户请求包括了用户期望浏览的网页的地址,即网址。网址中包括与数据库链接并能够唯一标识页面数据的标识码,该标识码使用活动ID表示。用数据库主键ID表示与数据库服务器中页面数据链接并唯一标识页面数据的标识码。通过比较活动ID与缓存服务器中数据对应链接的数据库主键ID值,确定缓存服务器中是否存在与活动ID对应的数据。
步骤402,判断用户请求的用户IP地址是否包含在预设的IP地址集合中。
在本实施例中,上述电子设备根据步骤401的判断结果,如果缓存服务器中不存在与活动ID对应数据,则提取该用户请求的用户IP地址,将该用户IP地址与预设的IP地址集合中的IP地址比较,确定该用户是否有发送恶意请求的不良记录,若存在不良记录则可以限制正常的业务流程,对用户的网络请求进行拦截。这里预设的IP地址集合是由人工设定或有上述电子设备通过历史数据设置的一个由非法请求用户的IP地址组成的集合,是一个黑名单。
步骤403,判断活动ID的数值是否大于缓存区域中存储的最大活动ID值,记录活动ID的数值大于最大活动ID值的用户请求。
在本实施例中,上述电子设备根据上述步骤402中的判断结果,如果该用户IP地址包含在预设的IP地址集合中,记录该用户请求;如果该用户IP地址不包含在预设的IP地址集合中,则比较活动ID的数值与最大活动ID值的大小。如果活动ID的值小于最大活动ID的值,用户请求查询数据库服务器,并将查询到的数据返回用户,同时将数据写入缓存服务器。如果活动ID的值大于最大活动ID的值,则在数据库服务器中不存在与用户请求对应的数据链接,用户请求为非法请求,记录该用户请求,拒绝该用户的访问请求。这里,最大活动ID的值是储存于预设的缓存区域,最大活动ID的值与数据库主键ID的最大值一致。
步骤404,更新最大活动ID值。
在本实施例中,当数据库服务器有新数据生成,则,标识上述新生成数据的数据库主键ID值生成,将新生成的数据库主键ID值设置为最大活动ID的值。
在本实施例的一些可选的实现方式中,上述电子设备判断数据库服务器是否有数据写入;如果是,提取数据写入数据库服务器中所生成的数据库主键ID的值;由该数据库主键ID的值设置最大活动ID的值。例如,在缓存区域中的最大活动ID值为x,x表示当前数据库服务器中最新的数据对应的数据库主键ID值为x,如果数据库服务器中没有数据,数据库主键ID值为0,最大活动ID的初始值为0。当有新数据产生,数据添加到数据库服务器所生成的新的数据库主键ID,根据新生成的数据库主键ID的值设置缓存区域中最大活动ID的值。
步骤405,拦截具有记录的用户请求。
在本实施例中,判断用户请求在缓存区域中是否有记录,该记录可以是一些区别信息。如果该用户请求有记录,即具有区别信息,则拦截具有记录的用户请求。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用户请求的拦截方法的流程400突出了最大活动ID的更新过程,从而实现更全面、准确的拦截非法的用户请求。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用户请求的拦截装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的用户请求的拦截装置500包括:获取单元501、IP判断单元502、比较单元503、标记单元504和拦截单元505。其中,获取单元501配置用于获取用户请求的活动ID,判断缓存服务器中是否有与该活动ID对应的数据,其中,活动ID为与数据库服务器中的数据关联,并能唯一标示所述数据的标识码;IP判断单元502配置用于判断上述用户请求的用户IP地址是否包含在预设的IP地址集合中;比较单元503配置用于判断上述活动ID的数值是否大于缓存区域中存储的最大活动ID值;标记单元504配置用于,当用户IP地址包含在IP地址集合中或当活动ID的数值大于最大活动ID值,记录该用户请求;拦截单元505配置用于拦截具有记录的用户请求。
在本实施例中,用户请求的拦截装置500的获取单元501可以通过终端设备获取用户的用户请求(网页访问请求)。其中,上述用户请求包括了用户期望浏览的网页的地址,即网址。网址中包括与数据库链接并能够唯一标识页面数据的标识码,该标识码使用活动ID表示。用数据库主键ID表示与数据库服务器中页面数据链接并唯一标识页面数据的标识码。通过比较活动ID与缓存服务器中数据对应链接的数据库主键ID值,确定缓存服务器中是否存在与活动ID对应的数据。
在本实施例中,IP判断单元502基于获取单元501得到的判断结果,从缓存服务器中不存在与活动ID对应数据的用户请求中提取该用户的用户IP地址,将该用户IP地址与预设的IP地址集合中的IP地址比较,判断该用户IP地址是否包含在上述IP地址集合中,如果包含,该用户请求为非法请求,记录该用户请求。
在本实施例中,比较单元503根据IP判断单元502的操作结果,将用户请求的活动ID与最大活动ID值比较,将活动ID的值大于最大活动ID值的用户请求记录,并在缓存区域中记录该用户IP地址。最大活动ID存储于预设的缓存区域,最大活动ID值与数据库主键ID值一致。
在本实施例中,拦截单元504在缓存区域中查找具有记录的用户请求,拦截查找到的具有记录的用户请求。
在本实施例的一些可选的实现方式中,比较单元还用于:判断活动ID是否与缓存服务器中缓存的数据所对应的ID相同;如果是,则缓存服务器中存在与所述活动ID对应的数据;否则,缓存服务器中不存在与活动ID对应的数据。
在本实施例的一些可选的实现方式中,记录单元还用于在缓存区域中记录该用户请求的用户IP地址。
在本实施例的一些可选的实现方式中,IP地址集合是由在设定时间段内访问数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。
在本实施例的一些可选的实现方式中,用户请求拦截装置还包括IP更新单元,配置用于:判断用户IP地址在预设的时间段内请求访问数据库服务器的次数是否超出所述访问次数阈值;如果是,添加用户IP地址到IP地址集合中;否则,记录用户IP地址的请求次数。
在本实施例的一些可选的实现方式中,比较单元进一步用于:在缓存区域中提取最大活动ID值;比较该活动ID的数值与上述最大活动ID值的大小;当活动ID的数值小于或等于最大活动ID值时,查询数据库服务器;将查询到的数据写入缓存服务器。
在本实施例的一些可选的实现方式中,用户请求拦截装置还包括最大活动ID值设置单元,最大活动ID值设置单元用于判断数据库服务器是否有数据写入;如果是,提取数据写入数据库服务器中所生成的数据库主键ID的值;由据库主键ID的值设置最大活动ID的值。
本申请的拦截装置中,上述拦截单元505根据IP判断单元502中用户IP地址在预设的IP地址集合中的查找结果以及比较单元503中活动ID与最大活动ID的比较结果,拦截由判断单元502和比较单元503判断为非法的用户请求。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、IP判断单元、比较单元、标记单元和拦截单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取用户请求信息的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取用户请求的活动ID,判断缓存服务器中是否存在与该活动ID对应的数据,其中,活动ID为与数据库服务器中的数据关联,并能唯一标示上述数据的标识码;如果否,判断用户请求的用户IP地址是否包含在预设的IP地址集合中;如果是,记录该用户请求;如果否,判断活动ID的数值是否大于缓存区域中存储的最大活动ID值;记录活动ID的数值大于最大活动ID值的用户请求;拦截具有记录的用户请求。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种用户请求的拦截方法,其特征在于,所述方法包括:
获取用户请求的活动ID,判断缓存服务器中是否存在与所述活动ID对应的数据,所述活动ID为与数据库服务器中的数据关联,并能唯一标示所述数据的标识码;
如果否,判断所述用户请求的用户IP地址是否包含在预设的IP地址集合中;
如果所述用户IP地址包含在所述IP地址集合中,记录所述用户请求;
如果用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于在预设的缓存区域中存储的最大活动ID值;
记录所述活动ID的数值大于所述最大活动ID值的用户请求;
更新最大活动ID值;
拦截所述具有记录的用户请求;其中,
所述记录所述活动ID的数值大于所述最大活动ID值的用户请求,还包括:
在缓存区域中记录所述活动ID的数值大于所述最大活动ID值的用户请求和所述用户请求的用户IP地址;以及
提取所述缓存区域中记录的用户IP地址的请求次数,判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出访问次数阈值;如果超出,添加所述用户IP地址到所述IP地址集合中。
2.根据权利要求1所述的方法,其特征在于,所述判断缓存服务器中是否存在与所述活动ID对应的数据,包括:
判断所述活动ID是否与所述缓存服务器中缓存的数据所对应的ID相同;
如果是,则所述缓存服务器中存在与所述活动ID对应的数据;
否则,所述缓存服务器中不存在与所述活动ID对应的数据。
3.根据权利要求1所述的方法,其特征在于,所述IP地址集合是由在设定时间段内访问所述数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出所述访问次数阈值;
如果否,记录所述用户IP地址的请求次数。
5.根据权利要求1所述的方法,其特征在于,所述如果用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于缓存区域中最大活动ID值,包括:
在所述缓存区域中提取所述最大活动ID值;
比较所述活动ID的数值与所述最大活动ID值的大小;
当所述活动ID的数值小于或等于所述最大活动ID值时,查询所述数据库服务器;
将查询到的数据写入缓存服务器。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述数据库服务器是否有数据写入;
如果是,提取所述数据写入数据库服务器中所生成的数据库主键ID的值;
由所述数据库主键ID的值设置所述最大活动ID的值。
7.一种用户请求的拦截装置,其特征在于,所述装置包括:
获取单元,配置用于获取用户请求的活动ID,判断缓存服务器中是否有与所述活动ID对应的数据,所述活动ID为与数据库服务器中的数据关联,并能唯一标示所述数据的标识码;
IP判断单元,配置用于判断所述用户请求的用户IP地址是否包含在预设的IP地址集合中;
比较单元,配置用于如果用户IP地址不包含在所述IP地址集合中,判断所述活动ID的数值是否大于所述缓存区域中存储的最大活动ID值;
标记单元,配置用于当所述用户IP地址包含在所述IP地址集合中或当所述活动ID的数值大于所述最大活动ID值,记录所述用户请求;
活动ID值更新单元,配置用于更新最大活动ID值;
拦截单元,配置用于拦截所述具有记录的用户请求;其中,
记录单元,配置用于在缓存区域中记录所述活动ID的数值大于所述最大活动ID值的用户请求和所述用户请求的用户IP地址;以及
IP更新单元,配置用于提取所述缓存区域中记录的用户IP地址的请求次数,判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出访问次数阈值;如果超出,添加所述用户IP地址到所述IP地址集合中。
8.根据权利要求7所述的装置,其特征在于,所述比较单元进一步配置用于:
判断所述活动ID是否与所述缓存服务器中缓存的数据所对应的ID相同;
如果是,则所述缓存服务器中存在与所述活动ID对应的数据;
否则,所述缓存服务器中不存在与所述活动ID对应的数据。
9.根据权利要求7所述的装置,其特征在于,所述IP地址集合是由在设定时间段内访问所述数据库服务器的次数超出访问次数阈值的用户请求的用户IP地址组成的集合。
10.根据权利要求7所述的装置,其特征在于,所述装置包括IP更新单元,配置用于:判断所述用户IP地址在预设的时间段内请求访问所述数据库服务器的次数是否超出所述访问次数阈值;
如果否,记录所述用户IP地址的请求次数。
11.根据权利要求7所述的装置,其特征在于,所述比较单元进一步配置用于:
在缓存区域中提取所述最大活动ID值;
比较所述活动ID的数值与所述最大活动ID值的大小;
当所述活动ID的数值小于或等于所述最大活动ID值时,查询所述数据库服务器;
将查询到的数据写入缓存服务器。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括最大活动ID值设置单元,配置用于:
判断所述数据库服务器是否有数据写入;
如果是,提取所述数据写入数据库服务器中所生成的数据库主键ID的值;
由所述数据库主键ID的值设置所述最大活动ID的值。
13.一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201610187033.0A 2016-03-29 2016-03-29 用户请求的拦截方法和装置 Active CN107241300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610187033.0A CN107241300B (zh) 2016-03-29 2016-03-29 用户请求的拦截方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610187033.0A CN107241300B (zh) 2016-03-29 2016-03-29 用户请求的拦截方法和装置

Publications (2)

Publication Number Publication Date
CN107241300A CN107241300A (zh) 2017-10-10
CN107241300B true CN107241300B (zh) 2020-11-03

Family

ID=59983414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610187033.0A Active CN107241300B (zh) 2016-03-29 2016-03-29 用户请求的拦截方法和装置

Country Status (1)

Country Link
CN (1) CN107241300B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995732A (zh) * 2017-12-30 2019-07-09 中国移动通信集团安徽有限公司 网站安全访问监控方法、装置、设备及介质
CN108366060B (zh) * 2018-02-07 2021-01-05 平安普惠企业管理有限公司 服务器访问方法、装置、设备及计算机可读存储介质
CN108846065A (zh) * 2018-06-06 2018-11-20 郑州云海信息技术有限公司 一种业务请求拦截方法及相关装置
CN110995767B (zh) * 2019-12-31 2022-01-28 五八有限公司 一种请求处理方法及装置
CN111897838A (zh) * 2020-06-28 2020-11-06 中国建设银行股份有限公司 一种交易查询方法、装置、电子设备及其可读存储介质
CN112929379B (zh) * 2021-02-22 2023-03-24 深圳供电局有限公司 一种智能录波器远程运维指令防御方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101594261A (zh) * 2008-05-28 2009-12-02 北京百问百答网络技术有限公司 一种假冒网站监测方法及其系统
CN102664872A (zh) * 2012-03-05 2012-09-12 星云融创(北京)科技有限公司 用于检测和防止对计算机网络中服务器攻击的系统和方法
CN103023914A (zh) * 2012-12-26 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种防火墙系统及其实现方法
CN103475637A (zh) * 2013-04-24 2013-12-25 携程计算机技术(上海)有限公司 基于ip访问行为的网络访问控制方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594261A (zh) * 2008-05-28 2009-12-02 北京百问百答网络技术有限公司 一种假冒网站监测方法及其系统
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN102664872A (zh) * 2012-03-05 2012-09-12 星云融创(北京)科技有限公司 用于检测和防止对计算机网络中服务器攻击的系统和方法
CN103023914A (zh) * 2012-12-26 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种防火墙系统及其实现方法
CN103475637A (zh) * 2013-04-24 2013-12-25 携程计算机技术(上海)有限公司 基于ip访问行为的网络访问控制方法及系统

Also Published As

Publication number Publication date
CN107241300A (zh) 2017-10-10

Similar Documents

Publication Publication Date Title
CN107241300B (zh) 用户请求的拦截方法和装置
CN110519401B (zh) 提高网络访问成功率的方法、装置、设备及存储介质
US11128621B2 (en) Method and apparatus for accessing website
US10110695B1 (en) Key resource prefetching using front-end optimization (FEO) configuration
CN104125209B (zh) 恶意网址提示方法和路由器
US9147067B2 (en) Security method and apparatus
CN107329963B (zh) 加速网页访问的方法和装置
KR102090982B1 (ko) 악의 웹 사이트 식별 방법, 장치 및 컴퓨터 기억매체
US8752134B2 (en) System and method for detecting and preventing attacks against a server in a computer network
CN110430188A (zh) 一种快速url过滤方法及装置
CN110808868B (zh) 测试数据获取方法、装置、计算机设备及存储介质
CN105915621A (zh) 访问数据的方法及预处理服务器
CN105302801A (zh) 一种资源缓存方法及装置
US20210192563A1 (en) Webpage advertisement anti-blocking method, content delivery network, and client terminal
CN108256014A (zh) 页面展示方法及装置
CN109474569A (zh) 一种检测web缓存欺骗的方法及系统
GB2543042A (en) Method for privacy protection
CN103269353A (zh) Web缓存回源优化方法及Web缓存系统
CN104158789A (zh) 一种支付类网站的安全性检测方法及装置
CN108322420A (zh) 后门文件的检测方法和装置
CN110855786B (zh) 针对网络数据请求的处理方法、设备及计算机存储介质
WO2012119496A1 (zh) 预读方法和装置
CN110633432A (zh) 一种获取数据的方法、装置、终端设备及介质
US20080005084A1 (en) Method for Determining Validity of Command and System Thereof
CN111756744B (zh) H5用户的识别方法、装置、设备及存储介质

Legal Events

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