CN117112937A - 访问请求的处理方法、相关设备及存储介质 - Google Patents
访问请求的处理方法、相关设备及存储介质 Download PDFInfo
- Publication number
- CN117112937A CN117112937A CN202210508110.3A CN202210508110A CN117112937A CN 117112937 A CN117112937 A CN 117112937A CN 202210508110 A CN202210508110 A CN 202210508110A CN 117112937 A CN117112937 A CN 117112937A
- Authority
- CN
- China
- Prior art keywords
- data
- access request
- behavior data
- access
- target
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 133
- 230000002159 abnormal effect Effects 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 118
- 230000000977 initiatory effect Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims description 160
- 230000008569 process Effects 0.000 claims description 67
- 238000004458 analytical method Methods 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006399 behavior Effects 0.000 description 256
- 239000013598 vector Substances 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 19
- 238000013519 translation Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请实施例涉及计算机技术领域,公开了访问请求的处理方法、相关设备及存储介质,该方法包括:在接收到目标对象的第一访问请求时,获取目标对象的第一对象行为数据,以及目标对象发起第一访问请求的目标地址;然后调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果;当对象识别结果指示目标对象为异常对象时,存储目标地址;之后在接收到任一对象的第二访问请求时,会将任一对象发起第二访问请求的访问地址与存储的各个目标地址进行比较;若访问地址与存储的任一目标地址相同,则拒绝响应第二访问请求。采用本申请实施例,可准确识别出异常对象,从而识别出异常访问请求,以防止系统资源被占用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及访问请求的处理方法、相关设备及存储介质。
背景技术
网站、网页、应用软件等互联网站点,通常会接收到大量的访问请求。互联网站点如果被异常对象(即恶意对象)使用,将会长时间占用互联网站点的系统资源(例如CPU资源),导致正常使用对象在使用该互联网站点时的使用体验受限,因此需要在接收到访问请求之后识别出异常对象,以便之后互联网站点拒绝异常对象的访问请求,从而防止互联网站点的系统资源被占用。传统的识别方式主要是通过单个IP地址(Internet ProtocolAddress,互联网协议地址)访问网站的频次来判断该IP地址是否为异常访问。但如果异常对象使用IP池(可产生动态IP地址)、拥有多个IP地址或者低频访问,传统的识别方式就无法识别出该异常对象,因而也无法辨别异常访问请求。因此,如何准确识别出异常对象,从而识别出异常访问请求,以防止系统资源被占用,是目前亟需解决的问题。
发明内容
本申请实施例提供一种访问请求的处理方法、相关设备、存储介质及计算机程序产品,可准确识别出异常对象,从而识别出异常访问请求,以防止系统资源被占用。
一方面,本申请实施例提供了一种访问请求的处理方法,包括:
在接收到目标对象的第一访问请求时,获取所述目标对象发起所述访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
一方面,本申请实施例提供了一种访问请求的处理装置,所述访问请求的处理装置包括获取单元和处理单元,其中:
所述获取单元,用于在接收到目标对象的第一访问请求时,获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述处理单元,用于调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
所述处理单元,还用于当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
所述处理单元,还用于在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
所述处理单元,还用于若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
一方面,本申请实施例提供了一种电子设备,所述电子设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行上述访问请求的处理方法。
一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行上述访问请求的处理方法。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;电子设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,所述计算机指令被处理器执行时,用于执行上述访问请求的处理方法。
本申请实施例中,在接收到目标对象的第一访问请求时,会获取第一对象行为数据,以便于可以调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果,从而可以通过对象识别结果确定出目标对象是否为异常对象。由于异常对象缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的,因此在对象行为数据的基础上,可以更准确地识别出访问互联网站点的对象是否为异常对象。同时,在接收到目标对象的第一访问请求时,还会获取目标对象发起所述第一访问请求的目标地址,当对象识别结果指示所述目标对象为异常对象时,目标对象使用的目标地址就会被存储起来,之后目标地址发起的访问请求都会被拒绝响应。虽然同一个对象可能会使用多个不同的IP地址访问互联网站点,但是只要某个IP地址对应的对象被识别为异常对象,该IP地址之后发起的访问请求也都会被拒绝响应;进而可以推理出,如果某个对象在使用一个IP地址时被识别为异常对象,那么由于所述某个对象的对象行为数据是相同的,因此所述某个对象在使用其他IP地址时也容易被识别为异常对象,从而导致所述某个对象使用的所有IP地址发起的访问请求都会被拒绝响应,进而使得互联网站点的系统资源不会被异常对象大量且恶意地占用,有利于提升正常对象的使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种访问请求的处理系统的结构示意图;
图2是本申请实施例提供的一种访问请求的处理方法的流程示意图;
图3是本申请实施例提供的一种身份验证请求的示意图;
图4是本申请实施例提供的另一种访问请求的处理方法的流程示意图;
图5是本申请实施例提供的一种访问请求的过程示意图;
图6是本申请实施例提供的一种密钥更新的过程示意图;
图7是本申请实施例提供的一种对象识别模型的训练过程示意图;
图8是本申请实施例提供的另一种对象识别模型的训练过程示意图;
图9是本申请实施例提供的一种访问请求的处理装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着互联网技术的不断发展,人工智能(Artificial Intelligence,AI)技术也随之得到更好的发展。所谓的人工智能技术是指利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术;其主要通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反应的智能机器,使得智能机器具有感知、推理与决策等多种功能。相应的,AI技术是一门综合学科,其主要包括计算机视觉技术(Computer Vision,CV)、语音处理技术、自然语言处理(Natural Language Processing,NLP)技术以及机器学习(Machine Learning,ML)/深度学习等几大方向。
其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是AI的核心,是使计算机设备具有智能的根本途径;所谓的机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科;其专门研究计算机设备怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。而深度学习则是一种利用深层神经网络系统,进行机器学习的技术;机器学习/深度学习通常可包括人工神经网络、强化学习(Reinforcement Learning,RL)、有监督学习、无监督学习等多种技术;所谓的有监督学习是指采用类别已知(具有标注类别)的训练样本进行模型训练的处理方式,无监督学习是指采用类别未知(没有被标记)的训练样本进行模型训练的处理方式。
此外,运行在电脑端(personal computer,PC)或者移动端(如手机、平板等)中的网站、应用程序等互联网站点展现给使用对象浏览的界面或网页,通常被称为前端。而前端开发(Frontend Development)指的是开发界面或网页上的内容展示与交互。内容展示指的是展示在界面或网页上图片、文字、视频、数字等信息,交互指的是使用对象可以在界面或页面上通过点击按钮、输入文字等等操作,输入交互数据,以便前端对所述交互数据进行处理,输出与交互数据匹配的交互结果数据。其中,前端往往会根据交互数据生成对互联网站点的访问请求,然后由互联网站点的后端响应所述访问请求,从数据库中提取与所述访问请求匹配的交互结果数据,并将其传回到前端,以便于前端输出交互结果。而后端开发(Backend Development)指的是构建互联网站点的业务运行逻辑。具体来说,前端开发可以构建含有按钮的用户界面,而后端开发可以编写使按钮工作的代码。其中,在后端开发的过程中具体可以使用JavaScript(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)、Node.js(一个基于Chrome V8引擎的JavaScript运行环境)等技术。
基于此,本申请实施例提供了一种访问请求的处理方案,该方案在接收到第一访问请求时,会先获取发起第一访问请求的目标对象的第一对象行为数据,以及目标对象发起第一访问请求的目标地址;然后,将第一对象行为数据输入至训练后的对象识别模型,以得到对象识别结果,而通过对象识别结果,就可以确定出目标对象是否为异常对象;若目标对象为异常对象,则存储目标地址,以便之后在接收到任一对象(包括目标对象)的第二访问请求时,可以通过比较任一对象发起第二访问请求的访问地址,是否与已经存储有的某个目标地址相同的方式,判断是否需要响应第二访问请求,若已经存储有的目标地址中存在与访问地址相同的目标地址,则拒绝响应第二访问请求;若已经存储的目标地址中不存在与访问地址相同的目标地址,则响应第二访问请求。不难看出,本方案是通过调用训练后的对象识别模型,对发起第一访问请求的目标对象的第一对象行为数据进行处理的方式,去识别出目标对象是否为异常对象,如果目标对象是异常对象,之后就拒绝响应目标对象的访问请求,如果目标对象不是异常对象,之后就正常响应目标对象的访问请求。
由于异常对象通常会通过网络爬虫(一种按照一定的规则,自动地抓取万维网信息的程序或者脚本)、脚本(使用一种特定的描述性语言,依据一定的格式编写的可执行文件)调用、IP池(可产生动态IP地址)等方式恶意使用互联网站点,而上述方式都是通过算法或程序来实现的,缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的。由此可见,本方案通过训练后的对象识别模型对对象行为数据进行处理,得到目标对象的对象识别结果的方式,可以以对象行为数据为基础,准确地识别出访问互联网站点的对象是否为异常对象,从而可以拒绝异常对象的访问请求,使得互联网站点的系统资源不会被异常对象恶意占用,有利于提升正常对象的使用体验。
其中,所述第一访问请求和第二访问请求均指的是访问互联网站点的请求(如想要使用互联网站点的查询、编辑等功能)。所述第二访问请求指的是互联网站点在接收到第一访问请求之后所接收到的访问请求。示例性地,互联网站点为一个语言翻译网站,那么当该语言翻译网站的使用对象输入待翻译内容,并点击翻译按钮之后,该语言翻译网站的前端就会生成一个访问请求,并发送到该网站的后端以获取所述待翻译内容的翻译结果。同时,所述目标对象指的是发起第一访问请求的对象,目标对象可以是人,也可以是算法或程序,在此不限定。一般来说,互联网站点的正常对象一般都是个人或者由多人组成的团体,而异常对象就是网络爬虫、脚本调用等程序或脚本。
此外,对象行为数据,如上述的第一对象行为数据,可以包括如下一种或多种:第一访问请求携带的访问数据,目标地址在预设时间段内发起的历史访问请求的时间数据,目标对象发起所述第一访问请求的过程中的屏幕滑动数据。其中,所述访问数据指的是通过前端与目标对象的交互所产生的数据,有助于表明访问目的。比如,目标对象在语言翻译网站中输入了“Hello”,并点击了网站中的翻译按钮,由此就可以产生一个将英文翻译成中文的访问请求,而“Hello”就是该访问请求携带的访问数据,表明是需要将“Hello”这个英文翻译成响应的中文。所述时间数据可以包括目标地址在预设时间段内向的互联网站点的后端发送的多个历史访问请求的发送时间,也可以是互联网站点的后端接收到所述多个历史访问请求的接收时间,在此不限定。其中,所述预设时间段可以是人为设定的,也可以是系统设定的,在此不限定;所述预设时间段具体可以是20分钟、10:00至11:00等表达时间段的数值。
举例来说,目标地址在过去一个小时内发起了3个历史访问请求,其中历史访问请求1的访问时间为11:02、历史访问请求2的访问时间为11:28、历史访问请求3的访问时间为11:58,那么可以确定时间数据包括11:02、11:28和11:58。目标对象通常都是会通过手机、电脑等终端设备访问互联网站点,因此所述屏幕滑动数据指的是目标对象发起第一访问请求的过程中,目标对象在终端设备的显示屏幕上的操作痕迹。具体来说,所述屏幕滑动数据可以是目标对象的触摸或鼠标点击操作,触摸或鼠标移动轨迹、页面滑动轨迹(如向上滑动、向下滑动、向左滑动、向右滑动)等。举例来说,目标对象通过鼠标在屏幕中点击了翻译按钮,然后通过鼠标的滚轮让页面往下滑动了一段距离,那么可以确定屏幕滑动数据包括点击操作和页面下滑操作。
另外,所述训练后的对象识别模型是通过上述的有监督学习方式对对象识别模型进行训练得到的。具体来说,所述训练后的对象识别模型可以是基于训练对象的训练对象行为数据和训练对象的训练标签对对象识别模型进行训练得到的。其中,所述训练对象行为数据可以对应上述的对象行为数据,在此不赘述;所述训练标签用于指示所述训练对象是否为异常对象。由于对象通常会通过输入文本、输入语音并转换为文本或者点击网页中以文本形式呈现的按钮等方式完成与互联网站点的前端的交互,因此在实际应用中,训练后的对象识别模型可以是对一些可以用于文本分类的机器学习模型进行训练得到的,比如Text CNN模型(Text Convolutional Neural Network)、Bert模型(BidirectionalEncoder Representations from Transformer,基于Transformer的双向编码器表征)、LayoutLM模型(Pre-training of Text and Layout for Document ImageUnderstanding)等。不同机器学习模型的优点不同,如Text CNN模型对文本浅层特征的抽取能力很强,对短文本的分类效果更好;而LayoutLM结合了空间信息,会在更多复杂场景有更好的提取效果等。技术人员可以基于不同需求选择不同的机器学习模型,在此不限定。
基于上述访问请求的处理方法,本申请实施例提供了一种访问请求的处理系统,可参见图1,图1所示的访问请求的处理系统可以包括多个终端设备101和多个服务器102,其中任一终端设备和任一服务器之间均建立有通信连接。终端设备101可以包括智能手机、平板电脑、笔记本电脑、台式计算机、智能车载以及智能可穿戴设备中的任意一种或多种。终端设备101内可运行各式各样的客户端(application,APP),如多媒体播放客户端、社交客户端、浏览器客户端、信息流客户端、教育客户端,等等。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101以及服务器102之间可以通过有线或无线通信方式进行直接或间接地通信连接,本申请在此不做限制。
在一个实施例中,上述访问请求的处理方法可以仅由图1所示的访问请求的处理系统中的服务器102执行,具体执行过程为:服务器102在接收到目标对象的第一访问请求时,获取目标对象发起第一访问请求的过程中采集到的第一对象行为数据以及目标对象发起第一访问请求的目标地址;并调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果。然后,当对象识别结果指示目标对象为异常对象时,服务器102可以存储目标地址。在服务器102将目标地址存储好之后,在接收到任一对象的第二访问请求时,都可以将该任一对象发起第二访问请求的访问地址与存储的各个目标地址进行比较;若访问地址与存储的任一目标地址相同,则服务器102拒绝响应所述第二访问请求,若存储的所有目标地址中没有与访问地址相同的目标地址,则服务器102正常响应所述第二访问请求。
可选的,上述访问请求的处理方法也可以仅由图1所示的访问请求的处理系统中的终端设备101执行,其具体执行过程可参见终端设备101的具体执行过程,在此不再赘述。
在另一个实施例中,上述访问请求的处理方法可以运行在访问请求的处理系统中,访问请求的处理系统可以包括终端设备和服务器,其中,所述访问请求的处理方法可由图1所示的访问请求的处理系统中所包含的终端设备101和服务器102来共同完成,具体执行过程为:终端设备101的使用者为目标对象,终端设备101先向服务器102发送第一访问请求,服务器102在接收到第一访问请求时,获取目标对象发起第一访问请求的过程中采集到的第一对象行为数据以及目标对象发起第一访问请求的目标地址;并调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果。然后,当对象识别结果指示目标对象为异常对象时,服务器102可以存储目标地址。在将目标地址存储好之后,服务器102可能会接收到来自终端设备101或者其他终端设备的第二访问请求,在接收到第二访问请求时,服务器102可以将发起第二访问请求的访问地址与已经存储有的各个目标地址进行比较;若访问地址与存储的任一目标地址相同,则服务器102拒绝响应所述第二访问请求,若存储的所有目标地址中没有与访问地址相同的目标地址,则服务器102正常响应所述第二访问请求。
基于上述访问请求的处理方案以及访问请求的处理系统,本申请实施例提供了一种访问请求的处理方法。参见图2,为本申请实施例提供的一种访问请求的处理方法的流程示意图。图2所示的访问请求的处理方法可由服务器或者终端设备执行。图2所示的访问请求的处理方法可包括步骤S201-S207:
S201,在接收到目标对象的第一访问请求时,获取目标对象发起第一访问请求的过程中采集到的第一对象行为数据,以及目标对象发起第一访问请求的目标地址。
在本申请实施例中,由于目标对象通常是通过点击前端界面中的某个按钮去表明想要访问网站与该按钮对应的数据资源,故而点击前端界面中的某个按钮的时刻通常指的是发送访问请求的时刻,但访问请求常常是基于一些与访问相关的交互数据(如目标对象在前端界面中输入的查询文本等)而生成的,因此所述发起第一访问请求的过程可以指的是从开始生成第一访问请求至发送完成第一访问请求的过程。具体来说,所述目标对象发起第一访问请求的过程中采集到的第一对象行为数据包括目标对象的终端设备发送完成第一访问请求之前的某段时间内的对象行为数据。
此外,所述目标地址指的是访问请求的源IP地址,也就是目标对象使用的终端设备的IP地址。在同一个网络(如互联网或局域网)中,每台终端设备(如计算机、手机等)都拥有一个的唯一IP地址。IP地址是前端和后端通信的基础,访问请求在实际通信中可以是一个数据包,而目标地址(即源IP地址)通常都会在该数据包的头部位置,因此获取目标地址的方式可以是对第一访问请求进行数据解析,得到目标地址。
另外,基于上述关于对象行为数据的描述,本申请实施例中的第一对象行为数据也包括如下一种或多种:第一访问请求携带的访问数据,目标地址在预设时间段内发起的历史访问请求的时间数据,目标对象发起所述第一访问请求的过程中的屏幕滑动数据。可选的,还可以将目标预设时间段接收到的来自目标对象的终端设备的对象行为数据作为第一对象行为数据。其中,所述目标预设时间段可以是人为设定的,也可以是系统设定的,在此不限定。所述目标预设时间段可以是2分钟、1小时等数值。
举例来说,可以设定目标预设时间段为5分钟,那么可以先将5分钟内接收到的来自目标对象的终端设备的所有对象行为数据进行缓存,5分钟过去后,再将所述5分钟内接收到的来自目标对象的终端设备的所有对象行为数据作为同一个批次的对象行为数据,以便于之后调用训练后的对象识别模型,对该批次的对象行为数据进行处理。
S202,调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果。
S203,当对象识别结果指示目标对象为异常对象时,存储目标地址。
在步骤S202至步骤S203中,所述对象识别结果用于指示目标对象是否为异常对象,而所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的。此外,由于前述提及训练后的对象识别模型可以是对一些用于文本分类的机器学习模型进行训练得到的,因此所述调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果的过程可以是:先通过训练后的对象识别模型中的训练后的编码器,对第一对象行为数据进行特征编码,得到目标特征向量;然后通过训练后的对象识别模型中的训练后的分类器,对第一对象行为数据进行特征编码对目标特征向量进行分类处理,得到分类结果(即对象识别结果)。
在一种可能的实现方式中,由于上述提及访问数据指的是通过前端与目标对象的交互所产生的数据,有助于表明访问目的,因此所述第一对象行为数据中至少需要包括第一访问请求携带访问数据。此外,由于训练后的对象识别模型是对文本进行分类,而对象行为数据中可能存在部分如屏幕滑动数据等数据的文本形式并不能表达该数据想要反映的对象行为,因此在调用训练后的对象识别模型之前,还可以先对第一对象行为数据进行特征分析处理,得到第一对象行为数据在至少一个预设维度的数据特征;然后,将至少一个预设维度的数据特征拼接,得到目标对象文本;最后,调用训练后的对象识别模型,对目标对象文本进行处理,得到对象识别结果。也就是说,在调用训练后的对象识别模型对第一对象行为数据进行处理之前,会先对第一对象行为数据进行预处理(即特征分析处理和拼接),以得到含有第一对象行为数据的数据特征的目标对象文本。
可选的,当所述第一对象行为数据包括访问数据时,所述预设维度可以是数据量维度;那么所述对第一对象行为数据进行特征分析处理,得到第一对象行为数据在至少一个预设维度的数据特征的过程具体可以是:获取访问数据的数据量,并将所述数据量和预设数据量阈值进行比较,得到第一比较结果;然后根据第一比较结果生成第一对象行为数据在数据量维度下的第一数据特征,所述第一数据特征用于指示访问数据的数据量是否小于预设数据量阈值。
具体来说,正常对象每一次访问网站时所占用的系统资源并不会很大,而异常对象带有恶意使用网站的系统资源的目的,故而每一次访问网站时所占用的系统资源相对来说会比较大,由于访问数据的数据量往往与占用的系统资源正相关,因此可以通过判断访问数据的数据量是否小于预设数据量阈值的方式去生成在数据量维度的第一数据特征,以便于后续训练后的对象识别模型能够结合第一数据特征去更准确地识别出目标对象是否为异常对象。此外,所述预设数据量阈值可以是人为设定的,也可以是系统设定的,在此不限定。所述预设数据量阈值可以是一个数值区间,也可以是一个具体的数值,如50KB~100KB、100MB、200GB~210GB等,在此不限定。
可选的,所述第一对象行为数据还可以包括目标地址在预设时间段内发起的历史访问请求的时间数据,其中所述时间数据包括每个历史访问请求的访问时间;所述预设维度可以是时间维度。那么对第一对象行为数据进行特征分析处理,得到第一对象行为数据在至少一个预设维度的数据特征的过程还可以包括:根据第一访问请求的访问时间和每个历史访问请求的访问时间,对第一访问请求和各个历史访问请求进行排序,得到排序后的访问请求;再获取排序后的访问请求中每两个访问请求的访问时间间隔,其中访问时间间隔是由每两个访问请求的访问时间的差值得到的;然后,根据每两个访问请求的访问时间间隔,得到第一访问请求与预设时间段内的历史访问请求的综合时间间隔;最后,将综合时间间隔和预设时间阈值进行比较,得到第二比较结果,以便于根据第二比较结果生成第一对象行为数据在时间维度的第二数据特征,所述第二数据特征用于指示综合时间间隔是否大于预设时间阈值。
具体来说,正常对象并不会频繁地访问某个互联网站点,而异常用户往往会频繁地访问,因此可以通过综合时间间隔是否大于预设时间阈值的方式去生成第二数据特征,以便于后续训练后的对象识别模型能够结合第二数据特征去更准确地识别出目标对象是否为异常对象。此外,所述预设时间阈值可以是人为设定的,也可以是系统设定的,在此不限定。所述预设时间阈值可以是一个数值区间,也可以是一个具体的数值,如5分钟~10分钟、50秒、1小时、1分钟~3分钟等,在此不限定。
可选的,所述第一对象行为数据还可以包括目标对象发起第一访问请求的过程中的屏幕滑动数据,所述预设维度可以是操作维度;那么,对第一对象行为数据进行特征分析处理,得到第一对象行为数据在至少一个预设维度的数据特征的过程还可以包括:将屏幕滑动数据和预设屏幕滑动数据进行比较,得到第三比较结果;根据第三比较结果生成第一对象行为数据在操作维度的第三数据特征,所述第三数据特征用于指示屏幕滑动数据是否为正常对象的屏幕滑动数据。
具体来说,所述预设屏幕滑动数据可以是固定的,也可以是动态更新的。当预设屏幕滑动数据是固定的时,可以是一些简单的连续操作,如点击按钮之后将页面匀速往下滑动(正常对象点击翻译按钮之后可能会断断续续地往下滑动,鲜少匀速往下滑动)、输入待翻译文本之后立刻点击翻译按钮(正常对象输入待翻译文本之后可能会再思考一下再点击翻译按钮)等;当预设屏幕滑动数据是动态更新的时,预设屏幕滑动数据可以是在接收到第一访问请求之前,目标对象的某段时间内的历史屏幕滑动数据,通过将屏幕滑动数据与历史屏幕滑动数据进行比较来得出第三比较结果。
由于正常对象在终端设备的显示屏幕上的操作痕迹都是比较随意和无序的,而异常对象通常是通过脚本调用或者网络爬虫的方式去访问网站,因此不存在屏幕滑动数据,此外,也存在一些异常对象会通过抓取正常对象的屏幕滑动数据等方式去伪造自己的屏幕滑动数据,但这种屏幕滑动数据往往是简单的或者重复的,因此可以通过比较屏幕滑动数据和预设屏幕滑动数据的方式去生成第三数据特征,以便于后续训练后的对象识别模型能够结合第三数据特征去更准确地识别出目标对象是否为异常对象。
在一种可能的实现方式中,由于第一对象行为数据能够表达目标对象最原始的对象行为,因此如果仅通过对由一个或多个预设维度的数据特征进行拼接所得到目标对象文本进行处理,反而会丢失第一对象行为数据中的一些原始信息。因此,还可以在将至少一个预设维度的数据特征进行拼接,得到目标对象文本之后,将目标对象文本和第一对象行为数据进行拼接,得到最终的对象文本,最后再调用训练后的对象识别模型,对所述最终的对象文本进行处理,得到对象识别结果。
举例来说,访问数据本身能够在一定程度上表达目标对象访问互联网站点的需求,故而也可以通过分析访问数据本身的方式也可以用于帮助辨别目标对象是否为异常对象,因此当所述第一对象行为数据包括访问数据时,还可以在确定了访问数据在数据量维度下的第一数据特征之后,将第一数据特征与访问数据进行拼接,得到最终的对象文本W;最后再调用训练后的对象识别模型,对对象文本W进行处理,得到对象识别结果。
又如,当第一对象行为数据中包括访问数据和时间数据时,由于仅对时间数据中包括的各个时间单独进行分析是没有意义的,时间数据主要是用来确定访问请求之间的时间间隔的,因此在确定了访问数据在数据量维度下的第一数据特征,以及时间数据在时间维度下的第二数据特征之后,可以将第一数据特征、第二数据特征和访问数据进行拼接,得到最终的对象文本G;最后再调用训练后的对象识别模型,对对象文本G进行处理,得到对象识别结果。
再如,当第一对象行为数据中包括访问数据和屏幕滑动数据时,可以在确定了访问数据在数据量维度下的第一数据特征,以及屏幕滑动数据在操作维度下的第三数据特征之后,将第一数据特征、第三数据特征、访问数据和屏幕滑动数据进行拼接,得到最终的对象文本Z;最后再调用训练后的对象识别模型,对对象文本Z进行处理,得到对象识别结果。
S204,在接收到任一对象的第二访问请求时,将任一对象发起第二访问请求的访问地址与存储的各个目标地址进行比较。
S205,若访问地址与存储的任一目标地址相同,则拒绝响应第二访问请求。
在步骤S204至步骤S205中,存储目标地址时可以将目标地址存进访问黑名单(即禁止访问名单),以便在接收到第二访问请求时,可以获取发起第二访问请求的访问地址,并将该访问地址与访问黑名单中的各个目标地址进行比较,如果访问地址与存储的任一目标地址相同,就拒绝响应第二访问请求。
在一种可能的实现方式中,所述若访问地址与存储的任一目标地址相同,则拒绝响应第二访问请求的方式可以是:若访问地址与存储的任一目标地址相同,则向目标对象的终端设备发送身份验证请求,以对目标对象进行身份验证;若身份验证通过,则响应第二访问请求;若身份验证未通过,则拒绝响应第二访问请求。具体来说,所述身份验证请求可以是向终端设备发送验证码以使目标对象输入正确验证码、向终端设备发送验证图像以使目标对象根据图像要求完成验证操作、向终端设备发送人脸识别请求以使目标对象进行人脸识别验证等,在此不限定。
举例来说,请参见附图3,示出了一种身份验证请求的示意图。由于目标对象B之前已经被识别为异常对象,目标对象B的IP地址已经被拉入翻译网站的访问黑名单。当目标对象B在界面301中输入“Fisher”并点击翻译按钮想要将英文翻译成中文时,会生成对翻译网站的访问请求C,服务器在接收到访问请求C之后,获取到发起访问请求C的目标对象的IP地址之后发现该IP地址与访问黑名单中的一个IP地址相同,因此服务器会向目标对象B的终端设备发送验证请求302,并在界面301中显示验证请求302。若目标对象B将几何图形303正确拉到几何图形304的位置,则说明身份验证通过,那么服务器会响应访问请求C,查找到“Fisher”的中文释义并返回给目标对象B的终端设备,最后界面301中的方框305会显示“Fisher”的中文释义“渔夫”;若目标对象B不能将几何图形303正确拉到几何图形304的位置,则说明身份验证未通过,那么服务器会拒绝响应访问请求C。
本申请实施例中,在接收到目标对象的第一访问请求时,会获取第一对象行为数据,以便于可以调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果,从而可以通过对象识别结果确定出目标对象是否为异常对象。由于异常对象缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的,因此在对象行为数据的基础上,可以更准确地识别出访问互联网站点的对象是否为异常对象。同时,在接收到目标对象的第一访问请求时,还会获取目标对象发起所述第一访问请求的目标地址,当对象识别结果指示所述目标对象为异常对象时,目标对象使用的目标地址就会被存储起来,之后目标地址发起的访问请求都会被拒绝响应。虽然同一个对象可能会使用多个不同的IP地址访问互联网站点,但是只要某个IP地址对应的对象被识别为异常对象,该IP地址之后发起的访问请求也都会被拒绝响应;进而可以推理出,如果某个对象在使用一个IP地址时被识别为异常对象,那么由于所述某个对象的对象行为数据是相同的,因此所述某个对象在使用其他IP地址时也容易被识别为异常对象,从而导致所述某个对象使用的所有IP地址发起的访问请求都会被拒绝响应,进而使得互联网站点的系统资源不会被异常对象大量且恶意地占用,有利于提升正常对象的使用体验。
基于上述访问请求的处理方案以及访问请求的处理系统,本申请实施例提供了另一种访问请求的处理方法。参见图4,为本申请实施例提供的另一种访问请求的处理方法的流程示意图。图4所示的访问请求的处理方法可由图1所示的服务器或者终端设备执行。图4所示的访问请求的处理方法可包括如下步骤:
S401,在接收到目标对象的第一访问请求时,获取目标对象发起第一访问请求的目标地址。
其中,步骤S401的具体实施方式可参见步骤S201中关于目标地址的具体实施方式,在此不赘述。
S402,接收目标对象的终端设备发送的加密后的第一对象行为数据和第一发送时间。
S403,若密钥的发送时间与第一发送时间之间的差值小于预设差值,则基于密钥对加密后的第一对象行为数据进行解密处理,得到第一对象行为数据。
在步骤S402和步骤S403中,所述加密后的第一对象行为数据是终端设备使用密钥对第一对象行为数据进行加密得到的;所述密钥是在首次接收到目标对象的访问请求时发送至终端设备的;所述第一发送时间是终端设备基于第一时间戳和差值时间生成的,所述第一时间戳用于指示加密后的第一对象行为数据的发送时间,所述差值时间是终端设备基于接收到密钥的接收时间和密钥的发送时间确定的;所述密钥的发送时间是在首次接收到所述目标对象的访问请求时发送至所述终端设备的。此外,所述预设差值可以是人为设定的,也可以是系统设定的,在此不限定。示例性地,所述预设差值可以是2小时、30分钟、6小时等。
可选的,由于是在接收到第一访问请求之后,才接收到加密后的第一对象行为数据,因此本实施例中的第一对象行为数据可以包括目标对象的终端设备发送第一访问请求之前的某段时间内的对象行为数据,以及发送完成第一访问请求之后直至发送加密后的第一对象行为数据之前的某段时间内的对象行为数据。举例来说,所述第一对象行为数据可以包括在终端设备发送加密后的第一对象行为数据之前的3分钟内的目标对象的对象行为数据。
具体来说,请参见附图5,示出了一种访问请求的过程示意图。终端设备501指的是目标对象的终端设备,服务器502指的是接收第一访问请求的服务器(也可以理解为互联网站点的后端服务器),第三访问请求指的是服务器502首次接收到的来自终端设备501的访问请求,发送时间A指的是密钥的发送时间,接收时间B指的是终端设备501接收到密钥时的接收时间,第一时间戳指示加密后的第一对象行为数据的发送时间,即那么发送时间D指的是第一时间戳指示的发送时间与差值时间之和。
由图5可知,服务器502首次接收到的来自终端设备501的访问请求(即第三访问请求)之后,会响应第三访问请求,获取与第三访问请求匹配的访问结果数据M,然后将访问结果数据M、密钥和发送时间A一同发送至终端设备501。终端设备501在接收到访问结果数据M、密钥和发送时间A时,会确定当前的接收时间B。由于对于网站、应用程序等互联网站点的首次访问请求通常都是加载互联网站点的首页(如点击购物网站的图标,可以视为对购物网站的首次访问请求,而该首次访问请求的访问结果是显示屏幕中开始加载购物网站的首页,以便之后可以通过购物网站的首页去使用各种功能),因此,终端设备501可以在加载访问结果数据M(即加载首页)的过程中,存储密钥、发送时间A,以及计算发送时间A和接收时间B之间的差值时间C。具体实现中,密钥、发送时间A和差值时间C可以通过JavaScript混淆编码的方式存储在前端。
在终端设备501存储好了密钥、发送时间A和差值时间C之后,终端设备501可能会再次向服务器502发送访问请求,这里的第一访问请求可以是设备501在向服务器502发送了第三访问请求之后,向服务器502发送的第一个或者第N个访问请求(N为正整数),在此不限定。终端设备501在向服务器502发送了第一访问请求之后,可以直接通过密钥对目标对象在发起第一访问请求的过程中采集到的第一对象行为数据进行加密,得到加密后的第一对象行为数据;同时终端设备501可以生成用于指示加密后的第一对象行为数据的发送时间的第一时间戳,并基于第一时间戳和预先存储的差值时间C生成发送时间D,最后将加密后的第一对象行为数据和发送时间D发送至服务器502。可选的,也终端设备501也可以是在接收到了服务器502的数据获取请求之后,再通过密钥对目标对象在发起第一访问请求的过程中采集到的第一对象行为数据进行加密,得到加密后的第一对象行为数据;以及生成用于指示加密后的第一对象行为数据的发送时间的第一时间戳,并基于第一时间戳和预先存储的差值时间C生成发送时间D,最后将加密后的第一对象行为数据和发送时间D发送至服务器502。
服务器502在接收到加密后的第一对象行为数据和发送时间D之后,会率先判断发送时间A与发送时间D之间的差值是否小于预设差值,只有当发送时间A与发送时间D之间的差值小于预设差值时,服务器502才会通过密钥对加密后的第一对象行为数据进行解密,以得到第一对象行为数据。
其中,由于数据传输的过程中会有一定的时间差,以及终端设备501和服务器502的所处的时区可能不同,如服务器502在P国,终端设备501在Y国,P国与Y国之间的时差为2小时,当服务器502的系统时间为8:00时,终端设备501的系统时间就会为10:00,因此需要计算出终端设备501和服务器502之间的差值时间,才能方便后续通过差值时间使得两端的时间保持一致。如服务器502的发送时间A为15:00,终端设备501确定的接收时间B为13:01,那么,可以确定差值时间C为61分钟,之后,终端设备501在确定了加密后的第一对象行为数据的发送时间为13:28之后,需要在13:28的基础上加上61分钟,以得到发送时间D为15:29,以便于服务器502之后可以直接比较发送时间A和发送时间D,两者之间不会存在较大的时间差。
此外,由于异常对象可能抓取正常对象的加密后的对象行为数据,然后将抓取到的加密后的对象行为数据作为自己的加密后的对象行为数据,长时间重复地发送至服务器,以使得服务器无法通过对加密后的对象行为数据进行解密后所得到的对象行为数据准确识别出异常对象。
因此,如果终端设备每一次将加密后的对象行为数据发送至服务器时,都会添加上加密后的对象行为数据的发送时间,那么服务器就可以通过判断首次向终端设备发送数据的时间(即发送时间A)与终端设备发送加密后的对象行为数据的发送时间(即发送时间D)之间是否相差太大的方式,确定接收到的加密后的对象行为数据是否是有效的。
可选的,由于时间戳是由联合信任时间戳服务中心签发的一个电子凭证,用于证明电子数据文件自申请可信时间戳后内容保持完整、未被更改,因此,为了保证数据更具有可信性,所述发送时间A、接收时间B、发送时间D等时间都可以申请相应的时间戳。
在一种可能的实现方式中,还可以统计在当前周期接收到的访问请求的第一数量,以及在上一周期接收到的访问请求的第二数量;若第一数量与第二数量的差值大于预设数值,则对密钥进行更新,得到更新后的密钥;并将更新后的密钥发送至终端设备,更新后的密钥用于终端设备对第二对象行为数据进行加密。其中,所述第二对象行为数据指的是终端设备将密钥更新为所述更新后的密钥之后,采集到的对象行为数据。所述周期指的是一个时间段,如1天、3天、1周、2周、1个月等,周期可以是人为设定的,也可以是系统设定的,在此不限定。此外所述预设数值可以是人为设定的,也可以是系统设定的,在此不限定。示例性地,所述预设数值可以是100、2000、10000等,在此不限定。
可选的,所有的密钥可以被存储在远程数据库或者存储器中,当需要对当前密钥进行更新时,可以从远程数据库或者存储器中获取一个新的密钥作为更新后的密钥,并将该更新后的密钥发送至当前向互联网站点发出访问请求的所有终端设备,以使所有终端设备都对密钥进行更新。
具体来说,当互联网站点的访问量在某个周期内激增时,说明可能存在异常对象恶意访问该互联网站点,且该异常对象成功访问了该互联网站点。由于成功访问的前提是通过训练后的对象识别模型,对对象行为数据进行处理所得到的对象识别结果指示该对象为正常对象。由此可见,异常对象可能破解了用于加密对象行为数据的密钥,并仿造了符合正常对象的行为的对象行为数据,因此,需要对密钥进行更新,而异常对象难以在短期内发现密钥已经更新,且难以在短期内破解出更新后的密钥,因此通过更新密钥的方式可以在保证之后接收到的对象行为数据的可信性的同时,也便于筛选出异常对象。
具体来说,可以将更新后的密钥混合在响应目标对象的某一次访问请求,所得到的访问结果数据中,然后将混合有更新后的密钥的访问结果数据发送至目标对象的终端设备。实际应用中,可以随机生成1024位字符串,设定其中四位是与前端约定好的密码起始位,而密码起始位之后的32位字符中的前16位为更新后的密码,后16位为偏移量,其中偏移量的作用是对更新后的密码进行一重加密,因此,哪怕更新后的密钥被异常对象抓取到了,异常对象也难以分辨1024位字符串中的哪几位表示更新后的密钥,同时,哪怕异常对象确定了表示更新后的密钥的字段,也需要对该字段进行解密。通过上述层层加密的方式,可以进一步保证更新后的密钥的数据安全。
可选的,在终端设备将密钥更新为更新后的密钥之后,还可以:
1)接收终端设备发送的加密后的第二对象行为数据和第二发送时间;
其中,加密后的第二对象行为数据是终端设备使用更新后的密钥对第二对象行为数据进行加密得到的,第二发送时间是终端设备基于第二时间戳和差值时间生成的,而第二时间戳用于指示加密后的第二对象行为数据的发送时间;
2)若密钥的发送时间与第二发送时间之间的差值小于预设差值,则基于更新后的密钥对加密后的第二对象行为数据进行解密处理;
3)若解密处理失败,且对终端设备使用更新后的密钥加密得到的加密后的第二对象行为数据解密处理失败的次数小于预设阈值,则使用密钥对加密后的第二对象行为数据进行解密处理,得到第二对象行为数据。
其中,所述预设阈值可以是人为设定的,也可以是系统设定的,在此不限定。示例性地,所述预设阈值可以是5、8、10等数值,也可以是6小时内5次等带有时间限定的数值,在此不限定。
具体来说,由于前述提及密钥是可以存储在前端(即目标对象当前浏览的页面)中的,而在实际应用中,前端和后端之间的数据通信可以通过应用程序编程接口(Application Programming Interface,API)的形式来实现,前端采集到的对象行为数据、访问数据等都可以通过应用程序编程接口传输至后端,然后后端可以将接收到的数据通过water drop(一个非常易用、高性能的能够应对海量数据的实时数据处理产品)导入clickhouse(一种数据库管理系统)中,由clickhouse进行后续的数据分析。
也就是说,前端向后端发送访问请求的方式通常是调用与该访问请求匹配的应用程序编程接口,然后通过该应用程序编程接口将访问请求发送至后端,不会涉及前端页面的更新,而如果前端页面不更新,密钥也难以更新,故而在互联网站点的后端将密钥更新为更新后的密钥之后,互联网站点的前端有可能还没有来得及将密钥更新为更新后的密钥,就已经发送出了基于密钥进行加密得到的加密后的对象行为数据。由此可见,如果仅是简单粗暴地将不能通过更新后的密钥进行解密处理的对象行为数据对应的对象认定为异常对象,并不再响应该对象的访问请求,是不合理的。因此,为了保证正常对象的使用体验,若解密处理失败的次数不大于预设阈值,都可以再采用之前的密钥进行解密,相当于给密钥的更新过程一个缓冲时期。
示例性地,请参见附图6,示出了一种密钥更新的过程示意图,设定预设阈值为5。服务器602会统计在当前周期接收到的访问请求的第一数量,以及在上一周期接收到的访问请求的第二数量;若服务器602判断出第一数量与第二数量的差值大于预设数值,则对密钥Z进行更新,将密钥Z更新为密钥G,并将密钥G发送至终端设备601。之后,服务器602会接收到终端设备601发送的在加密后的第二对象行为数据和第二发送时间,在确定密钥Z的发送时间和第二发送时间之间得到差值小于预设差值之后,服务器602可以基于密钥G对加密后的第二对象行为数据进行解密处理,若解密失败,则服务器602可以进一步确定,在服务器602将密钥Z更新为密钥G之后,服务器602对终端设备601发送的加密后的对象行为数据密钥进行解密处理的失败次数,是否小于5次,若小于5次,则使用密钥Z对加密后的第二对象行为数据进行解密,得到第二对象行为数据。
S404,调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果。
在本申请实施例中,步骤S404中关于第一对象行为数据的具体描述可参见步骤S202中关于第一对象行为数据的具体描述,在此不赘述。由于前述提及训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的,因此对象识别模型的训练过程具体可以是:1)获取训练对象的训练对象行为数据,以及训练对象的训练标签,训练标签用于指示训练对象是否为异常对象;2)调用对象识别模型,对训练对象行为数据进行处理,得到训练识别结果,训练识别结果用于指示训练对象是否为异常对象;3)基于训练识别结果和训练标签,对对象识别模型进行训练,得到训练后的对象识别模型。其中,所述训练对象行为数据可以包括:训练对象发起的训练访问请求携带的训练访问数据,训练地址在预设时间段内发起的训练历史访问请求的训练时间数据,训练对象发起训练访问请求的过程中的训练屏幕滑动数据。在实际应用中,可以通过采用tensorflow(一个基于数据流编程的符号数学系统)来构建机器学习模型(即对象识别模型),以及通过训练数据集对机器学习模型进行训练。
可选的,由于步骤S202中提及训练后的对象识别模型可以是对一些用于文本分类的机器学习模型进行训练所得到的,以及可以在调用训练后的对象识别模型对第一对象行为数据进行处理之前,先对第一对象行为数据进行预处理(即特征分析处理和拼接),以得到目标对象文本,因此在对象识别模型的训练过程中,也可以对训练对象行为数据进行特征分析处理,得到训练对象行为数据在至少一个预设维度的训练数据特征,然后将至少一个预设维度的训练数据特征和训练访问数据进行拼接,得到训练对象文本;再调用对象识别模型,对训练对象文本进行处理,得到训练识别结果,最后基于训练识别结果和训练标签,对对象识别模型进行训练,得到训练后的对象识别模型。
举例来说,请参见附图7,示出了一种对象识别模型的训练过程示意图。本示例中的对象识别模型为Text CNN模型。其中,互联网站点为一个语言翻译网站,针对语言翻译网站可以设定三个预设维度,分别是数据量维度、时间维度和操作维度。第一方面,由于语言翻译网站的正常对象通常输入的待翻译内容(即访问数据)的都是单词或者短语,均为数据量比较小的文本;而异常对象通常输入的待翻译内容是长段落,是数据量比较大的文本,因此可以设定数据量小于预设阈值时,第一数据特征为A1,而数据量大于预设阈值时,第一数据特征为A2;第二方面,由于语言翻译网站的正常对象两次输入的待翻译内容并请求翻译之间的时间间隔会比较大,异常对象则会频繁地输入待翻译内容并请求翻译,因此可以设定综合时间间隔大于设时间阈值时,第二数据特征为B1,而综合时间间隔小于设时间阈值时,第二数据特征为B2;第三方面,由于异常对象的屏幕滑动数据都是比较简单且重复的,因此可以预设屏幕滑动数据可以是异常对象的屏幕滑动数据,因此屏幕滑动数据与预设屏幕滑动数据进行比较后,若屏幕滑动数据与预设屏幕滑动数据不相同,那么可以确定屏幕滑动数据为正常对象的屏幕滑动数据,此时设定第三数据特征为C1;若屏幕滑动数据与预设屏幕滑动数据相同或者比较相似,那么可以确定屏幕滑动数据不是正常对象的屏幕滑动数据,此时设定第三数据特征为C2。
因此,在接收到训练对象行为数据G之后,可以从三个预设维度对训练对象行为数据G进行特征分析处理,从而得到训练对象行为数据G在三个预设维度的数据特征A1、B2和C1;此外,由于训练对象行为数据G中的访问数据为“hello fisher go to the museum”,因此可以将三个预设维度的数据特征和访问数据进行拼接,得到目标对象文本“A1 B2 C1hello fisher go to the museum”。
在得到了目标对象文本之后,需要将目标对象文本输入至Text CNN模型中,TextCNN模型会先确定目标对象文本的文本长度n(图7中n=9),词向量维度为d(图7中d=6),然后针对每个词设定分别设定两个通道(即通道701和通道702)的特征向量,如A1的一个初始特征向量为通道701中的第一排,A1的另一个初始特征向量为通道702中的第一排。然后,Text CNN模型会在两个通道的特征向量的基础上进行多层卷积、池化、全连接等操作,从而得到目标特征向量703。其中,设定一维卷积层filter_size=(2,3,4),相当于每个通道的可以提取2-gram(即2个词)、3-gram(即3个词)、4-gram(即4个词)的特征。而卷积运算的具体公式如下:
qi=f(w·xi:j+h-1+b)
其中,f为激活函数(如sigmoid、tanh等),qi表示经过卷积运算之后得到的特征向量,xi指的是文本长度为n的文本中的第i个词语的词向量(词向量维度为d);同理,xi:j指的是文本长度为n的文本中的第(i,j)个词语的词向量的拼接向量。w指的是滑动窗口的宽度(对应上述的2、3、4);h指的是卷积核所围的滑动窗口中的词语的数量;b指的是bias(偏离率),是超参数。通过滑动窗口可以实现将文本中的所有词的初始特征向量进行卷积运算,在经过多次卷积运算后可以得到特征向量映射q=[q1,q2,…,qn-h+1](如图7中的特征向量映射706),不同的通道和不同的滑动窗口,会得到不同的特征向量映射(如图7中的特征向量映射706及其后面的3个特征向量映射);然后,可以通过最大池化操作、全连接操作等对每一个特征向量映射进行处理,最终可以得到目标特征向量703。最后,通过softmax函数对目标特征向量703进行分类处理,得到训练对象识别结果。可选的,除了softmax函数之外,还可以通过其他用于分类的函数(如交叉熵损失函数、合页损失函数等)进行分类处理,在此不限定。
在具体实现中,训练对象识别结果中可以包括P1(即训练对象为正常对象的概率)和P0(即训练对象为异常对象的概率)。可选的,可以设定若P0大于预设概率阈值,则确定该训练对象识别结果指示训练对象为异常对象,若P0小于预设概率阈值,则确定该训练对象识别结果指示训练对象为正常对象。所述预设概率阈值具体可以是0.6、0.9、85%等数值,预设概率阈值可以是人为设定的,也可以是系统设定的,在此不限定。
另外,由于语言翻译网站的正常对象在某段时间内输入的多个待翻译内容之间的相关性都是不大的,而Text CNN模型等文本分类模型在对文本中的各个词进行特征编码的过程中,也可以加深文本中的各个词的语义交互,从而使得通过最终的目标特征向量能够反映出各个词之间的相关性是否比较大,故而将访问数据拼接至的训练对象文本中,还可以通过训练对象识别模型确定访问数据(即多个待翻译内容)之间的数据相关性的能力。
可选的,如图8所示,示出了另一种对象识别模型的训练过程示意图,可以先将包括一个或多个训练对象行为数据的训练集输入至对象识别模型,由对象识别模型中的编码器进行特征编码(对应图7中的目标特征向量的获取过程),得到特征向量,再由对象识别模型中的分类器(对应图7中的分类函数)对特征向量进行分类处理,从而得到训练识别结果;最后,通过训练识别结果和训练标签得到训练后的对象识别模型。
在得到了训练后的对象识别模型之后,还需要将包括一个或多个测试对象行为数据的测试集输入至训练后的对象识别模型,由训练后的对象识别模型对测试对象行为数据进行特征编码、分类处理之后,得到测试识别结果;然后将测试识别结果与测试标签进行比较,若测试识别结果指示的测试对象的对象类型(即正常对象或异常对象)与测试标签指示的测试对象的对象类型相同,那么说明通过训练后的对象识别模型得到的测试识别结果是准确的,此时该训练后的对象识别模型就可以投入到互联网站点的异常对象识别中。若测试识别结果指示的测试对象的对象类型(即正常对象或异常对象)与测试标签指示的测试对象的对象类型不相同,则说明通过训练后的对象识别模型得到的测试识别结果还不够准确,因此需要再继续对该训练后的对象识别模型进行训练,直至得到的测试识别结果准确。
S405,当对象识别结果指示目标对象为异常对象时,存储目标地址。
在本申请实施例中,除了通过对对象行为数据进行处理所得到的对象识别结果来识别目标对象外,还可以结合目标对象的目标地址的访问频次进一步确定目标对象是否为异常对象,以避免由于对象识别结果所导致的正常对象的访问请求被拒绝响应。因此,当对象识别结果指示目标对象为异常对象时,还可以进一步获取目标地址的访问频次,当访问频次大于预设数量阈值时,才存储目标地址。其中,所述访问频次指的是某个时间段内,目标地址的访问次数。举例来说,访问频次可以是5小时内20次、3分钟内2次等。所述预设数量阈值具体可以是30、5000、200等数值,预设数量阈值可以是人为设定的,也可以是系统设定的,在此不限定。具体实现中,服务器可以通过redis(Remote Dictionary Server,即远程字典服务)记录访问频次。
S406,在接收到任一对象的第二访问请求时,将任一对象发起第二访问请求的访问地址与存储的各个目标地址进行比较。
S407,若访问地址与存储的任一目标地址相同,则拒绝响应第二访问请求。
其中,步骤S406至步骤S407的具体实施方式可参见步骤S204至步骤S205的具体实施方式,在此不赘述。
在本申请实施例中,在接收到目标对象的第一访问请求时,会获取第一对象行为数据,以便于可以调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果,从而可以通过对象识别结果确定出目标对象是否为异常对象。由于异常对象缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的,因此在对象行为数据的基础上,可以更准确地识别出访问互联网站点的对象是否为异常对象。同时,周期确定目标对象为异常对象之后,会通过拒绝响应来自目标对象的目标地址的访问请求的方式,以避免互联网站点的系统资源被异常对象恶意占用,有利于提升正常对象的使用体验。此外,本申请实施例还通过密钥对第一对象行为数据进行加密的方式,实现保证第一对象行为数据在数据传输过程中的安全,以及通过在发送加密后的第一对象行为数据的同时发送第一发送时间的方式,保证了加密后的第一对象行为数据在被异常对象抓取到之后,不会被重复使用。
基于上述访问请求的处理方法的相关描述,本申请还公开了一种访问请求的处理装置。该访问请求的处理装置可以是运行与上述所提及的计算机设备中的一个计算机程序(包括程序代码)。该访问请求的处理装置可以执行如图2和图4所示的访问请求的处理方法,请参见图9,该访问请求的处理装置至少可以包括:获取单元901和处理单元902。
所述获取单元901,用于在接收到目标对象的第一访问请求时,获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述处理单元902,用于调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
所述处理单元902,用于当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
所述处理单元902,还用于在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
所述处理单元902,还用于若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
在一种实施方式中,所述处理单元902还可以用于执行:对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征;将所述至少一个预设维度的数据特征进行拼接,得到目标对象文本;
那么,所述处理单元902在调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果时,具体可用于执行:调用训练后的对象识别模型,对所述目标对象文本进行处理,得到所述对象识别结果。
在又一种实施方式中,所述第一对象行为数据包括所述第一访问请求携带的访问数据;
所述处理单元902在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
获取所述访问数据的数据量,并将所述数据量和预设数据量阈值进行比较,得到第一比较结果;
根据所述第一比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述访问数据的数据量是否小于所述预设数据量阈值。
在又一种实施方式中,所述第一对象行为数据还包括所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述时间数据包括每个历史访问请求的访问时间;
所述处理单元902在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
根据所述第一访问请求的访问时间和所述每个历史访问请求的访问时间,对所述第一访问请求和各个历史访问请求进行排序,得到排序后的访问请求;
获取所述排序后的访问请求中每两个访问请求的访问时间间隔,所述访问时间间隔是由所述每两个访问请求的访问时间的差值得到的;
根据所述每两个访问请求的访问时间间隔,得到所述第一访问请求与所述预设时间段内的历史访问请求的综合时间间隔;
将所述综合时间间隔和预设时间阈值进行比较,得到第二比较结果;
根据所述第二比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述综合时间间隔是否大于所述预设时间阈值。
在又一种实施方式中,所述第一对象行为数据还包括所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述处理单元902在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
将所述屏幕滑动数据和预设屏幕滑动数据进行比较,得到第三比较结果;
根据所述第三比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述屏幕滑动数据是否为正常对象的屏幕滑动数据。
在又一种实施方式中,所述获取单元901在获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据时,具体可用于执行:
接收所述目标对象的终端设备发送的加密后的第一对象行为数据和第一发送时间,所述加密后的第一对象行为数据是所述终端设备使用密钥对所述第一对象行为数据进行加密得到的,所述密钥是在首次接收到所述目标对象的访问请求时发送至所述终端设备的,所述第一发送时间是所述终端设备基于第一时间戳和差值时间生成的,所述第一时间戳用于指示所述加密后的第一对象行为数据的发送时间,所述差值时间是所述终端设备基于接收到所述密钥的接收时间和所述密钥的发送时间确定的,所述密钥的发送时间是在首次接收到所述目标对象的访问请求时发送至所述终端设备的;
若所述密钥的发送时间与所述第一发送时间之间的差值小于预设差值,则基于所述密钥对所述加密后的第一对象行为数据进行解密处理,得到所述第一对象行为数据。
在又一种实施方式中,所述处理单元902还可以用于执行:
统计在当前周期接收到的访问请求的第一数量,以及在上一周期接收到的访问请求的第二数量;
若所述第一数量与所述第二数量的差值大于预设数值,则对所述密钥进行更新,得到更新后的密钥;
将所述更新后的密钥发送至所述终端设备,所述更新后的密钥用于所述终端设备对第二对象行为数据进行加密。
在又一种实施方式中,所述获取单元901还可以用于执行:
接收所述终端设备发送的加密后的第二对象行为数据和第二发送时间,所述加密后的第二对象行为数据是所述终端设备使用所述更新后的密钥对第二对象行为数据进行加密得到的,所述第二发送时间是所述终端设备基于第二时间戳和所述差值时间生成的,所述第二时间戳用于指示所述加密后的第二对象行为数据的发送时间;
若所述密钥的发送时间与所述第二发送时间之间的差值小于预设差值,则基于所述更新后的密钥对所述加密后的第二对象行为数据进行解密处理;
若解密处理失败,且对所述终端设备使用所述更新后的密钥加密得到的加密后的第二对象行为数据解密处理失败的次数小于预设阈值,则使用所述密钥对所述加密后的第二对象行为数据进行解密处理,得到所述第二对象行为数据。
在又一种实施方式中,所述处理单元902在若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求时,具体可以用于执行:
若所述访问地址与存储的任一目标地址相同,则向所述目标对象的终端设备发送身份验证请求,以对所述目标对象进行身份验证;
若身份验证通过,则响应所述第二访问请求;
若身份验证未通过,则拒绝响应所述第二访问请求。
在又一种实施方式中,所述处理单元902在当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址时,具体可以用于执行:
当所述对象识别结果指示所述目标对象为异常对象时,获取所述目标地址的访问频次;
当所述访问频次大于预设数量阈值时,存储所述目标地址。
在又一种实施方式中,所述处理单元902还可以用于执行:
获取所述训练对象的训练对象行为数据,以及所述训练对象的训练标签,所述训练标签用于指示所述训练对象是否为异常对象;
调用对象识别模型,对所述训练对象行为数据进行处理,得到训练识别结果,所述训练识别结果用于指示所述训练对象是否为异常对象;
基于所述训练识别结果和所述训练标签,对所述对象识别模型进行训练,以得到所述训练后的对象识别模型。
根据本申请的一个实施例,图2和图4所示的方法所涉及各个步骤可以是由图9所示的访问请求的处理装置中的各个单元来执行的。例如,图2所示的步骤S201可由图9所示的访问请求的处理装置中的获取单元901来执行;步骤S202至步骤S205可由图9所示的访问请求的处理装置中的处理单元902来执行。再如,图4所示的步骤S401至步骤S403可由图9所示的访问请求的处理装置中的获取单元901来执行;步骤S404至步骤S407可由图9所示的访问请求的处理装置中的处理单元902来执行。
根据本申请的另一个实施例,图9所示的访问请求的处理装置中的各个单元是基于逻辑功能划分的,上述各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。在本申请的其它实施例中,上述基于访问请求的处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机设备的通用计算设备上,运行能够执行如图2或图4所示的方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图9所示的访问请求的处理装置,以及来实现本申请实施例的访问请求的处理方法。计算机程序可以记载于例如计算机存储介质上,并通过计算机存储介质装载于上述计算机设备中,并在其中运行。
本申请实施例中,在接收到目标对象的第一访问请求时,会获取第一对象行为数据,以便于可以调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果,从而可以通过对象识别结果确定出目标对象是否为异常对象。由于异常对象缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的,因此在对象行为数据的基础上,可以更准确地识别出访问互联网站点的对象是否为异常对象。同时,在接收到目标对象的第一访问请求时,还会获取目标对象发起所述第一访问请求的目标地址,当对象识别结果指示所述目标对象为异常对象时,目标对象使用的目标地址就会被存储起来,之后目标地址发起的访问请求都会被拒绝响应。虽然同一个对象可能会使用多个不同的IP地址访问互联网站点,但是只要某个IP地址对应的对象被识别为异常对象,该IP地址之后发起的访问请求也都会被拒绝响应;进而可以推理出,如果某个对象在使用一个IP地址时被识别为异常对象,那么由于所述某个对象的对象行为数据是相同的,因此所述某个对象在使用其他IP地址时也容易被识别为异常对象,从而导致所述某个对象使用的所有IP地址发起的访问请求都会被拒绝响应,进而使得互联网站点的系统资源不会被异常对象大量且恶意地占用,有利于提升正常对象的使用体验。
基于上述的方法实施例以及装置实施例,本申请还提供了一种电子设备。参见图10,为本申请实施例提供的一种电子设备的结构示意图。图10所示的电子设备可至少包括处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004。其中,处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004可通过总线或其他方式连接。
计算机存储介质1004可以存储在电子设备的存储器中,计算机存储介质1004用于存储计算机程序,计算机程序包括程序指令,处理器1001用于执行计算机存储介质1004存储的程序指令。处理器1001(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现上述访问请求的处理方法流程或相应功能。
本申请实施例还提供了一种计算机存储介质(Memory),计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1001加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速随机存取存储器(random access memory,RAM)存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1001加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2和图6的访问请求的处理方法实施例中的方法的相应步骤,具体实现中,计算机存储介质中的一条或多条指令由处理器1001加载并执行如下步骤:
处理器1001在接收到目标对象的第一访问请求时,获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
处理器1001调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
处理器1001当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
处理器1001在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
处理器1001若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
在一个实施例中,所述处理器1001还可以用于执行:对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征;
将所述至少一个预设维度的数据特征进行拼接,得到目标对象文本;
那么所述处理器1001在调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果时,具体可用于:调用训练后的对象识别模型,对所述目标对象文本进行处理,得到所述对象识别结果。
在一个实施例中,所述第一对象行为数据包括所述第一访问请求携带的访问数据;
所述处理器1001在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
获取所述访问数据的数据量,并将所述数据量和预设数据量阈值进行比较,得到第一比较结果;
根据所述第一比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述访问数据的数据量是否小于所述预设数据量阈值。
在一个实施例中,所述第一对象行为数据还包括所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述时间数据包括每个历史访问请求的访问时间;
所述处理器1001在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
根据所述第一访问请求的访问时间和所述每个历史访问请求的访问时间,对所述第一访问请求和各个历史访问请求进行排序,得到排序后的访问请求;
获取所述排序后的访问请求中每两个访问请求的访问时间间隔,所述访问时间间隔是由所述每两个访问请求的访问时间的差值得到的;
根据所述每两个访问请求的访问时间间隔,得到所述第一访问请求与所述预设时间段内的历史访问请求的综合时间间隔;
将所述综合时间间隔和预设时间阈值进行比较,得到第二比较结果;
根据所述第二比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述综合时间间隔是否大于所述预设时间阈值。
在一个实施例中,所述第一对象行为数据还包括所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述处理器1001在对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征时,具体可用于执行:
将所述屏幕滑动数据和预设屏幕滑动数据进行比较,得到第三比较结果;
根据所述第三比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述屏幕滑动数据是否为正常对象的屏幕滑动数据。
在一个实施例中,所述处理器1001在获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据时,具体可用于执行:
接收所述目标对象的终端设备发送的加密后的第一对象行为数据和第一发送时间,所述加密后的第一对象行为数据是所述终端设备使用密钥对所述第一对象行为数据进行加密得到的,所述密钥是在首次接收到所述目标对象的访问请求时发送至所述终端设备的,所述第一发送时间是所述终端设备基于第一时间戳和差值时间生成的,所述第一时间戳用于指示所述加密后的第一对象行为数据的发送时间,所述差值时间是所述终端设备基于接收到所述密钥的接收时间和所述密钥的发送时间确定的,所述密钥的发送时间是在首次接收到所述目标对象的访问请求时发送至所述终端设备的;
若所述密钥的发送时间与所述第一发送时间之间的差值小于预设差值,则基于所述密钥对所述加密后的第一对象行为数据进行解密处理,得到所述第一对象行为数据。
在一个实施例中,所述处理器1001还可以用于执行:统计在当前周期接收到的访问请求的第一数量,以及在上一周期接收到的访问请求的第二数量;
若所述第一数量与所述第二数量的差值大于预设数值,则对所述密钥进行更新,得到更新后的密钥;
将所述更新后的密钥发送至所述终端设备,所述更新后的密钥用于所述终端设备对第二对象行为数据进行加密。
在一个实施例中,所述处理器1001还可以用于执行:接收所述终端设备发送的加密后的第二对象行为数据和第二发送时间,所述加密后的第二对象行为数据是所述终端设备使用所述更新后的密钥对第二对象行为数据进行加密得到的,所述第二发送时间是所述终端设备基于第二时间戳和所述差值时间生成的,所述第二时间戳用于指示所述加密后的第二对象行为数据的发送时间;
若所述密钥的发送时间与所述第二发送时间之间的差值小于预设差值,则基于所述更新后的密钥对所述加密后的第二对象行为数据进行解密处理;
若解密处理失败,且对所述终端设备使用所述更新后的密钥加密得到的加密后的第二对象行为数据解密处理失败的次数小于预设阈值,则使用所述密钥对所述加密后的第二对象行为数据进行解密处理,得到所述第二对象行为数据。
在一个实施例中,所述处理器1001在若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求时,具体可以用于执行:
若所述访问地址与存储的任一目标地址相同,则向所述目标对象的终端设备发送身份验证请求,以对所述目标对象进行身份验证;
若身份验证通过,则响应所述第二访问请求;
若身份验证未通过,则拒绝响应所述第二访问请求。
在一个实施例中,所述处理器1001在当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址时,具体可以用于执行:
当所述对象识别结果指示所述目标对象为异常对象时,获取所述目标地址的访问频次;
当所述访问频次大于预设数量阈值时,存储所述目标地址。
在一个实施例中,所述处理器1001还可以用于执行:获取所述训练对象的训练对象行为数据,以及所述训练对象的训练标签,所述训练标签用于指示所述训练对象是否为异常对象;
调用对象识别模型,对所述训练对象行为数据进行处理,得到训练识别结果,所述训练识别结果用于指示所述训练对象是否为异常对象;
基于所述训练识别结果和所述训练标签,对所述对象识别模型进行训练,以得到所述训练后的对象识别模型。
本申请实施例中,在接收到目标对象的第一访问请求时,会获取第一对象行为数据,以便于可以调用训练后的对象识别模型,对第一对象行为数据进行处理,得到对象识别结果,从而可以通过对象识别结果确定出目标对象是否为异常对象。由于异常对象缺少正常对象在使用互联网站点的过程中会产生的对象行为数据,或者对象行为数据都是简单、机械且重复的,因此在对象行为数据的基础上,可以更准确地识别出访问互联网站点的对象是否为异常对象。同时,在接收到目标对象的第一访问请求时,还会获取目标对象发起所述第一访问请求的目标地址,当对象识别结果指示所述目标对象为异常对象时,目标对象使用的目标地址就会被存储起来,之后目标地址发起的访问请求都会被拒绝响应。虽然同一个对象可能会使用多个不同的IP地址访问互联网站点,但是只要某个IP地址对应的对象被识别为异常对象,该IP地址之后发起的访问请求也都会被拒绝响应;进而可以推理出,如果某个对象在使用一个IP地址时被识别为异常对象,那么由于所述某个对象的对象行为数据是相同的,因此所述某个对象在使用其他IP地址时也容易被识别为异常对象,从而导致所述某个对象使用的所有IP地址发起的访问请求都会被拒绝响应,进而使得互联网站点的系统资源不会被异常对象大量且恶意地占用,有利于提升正常对象的使用体验。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述如图2和图4所示的方法实施例。其中,计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例中的访问请求的处理方法可应用于各种需要使用互联网站点的场景,包括但不限于云技术、智慧交通、辅助驾驶等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种访问请求的处理方法,其特征在于,包括:
在接收到目标对象的第一访问请求时,获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征;
将所述至少一个预设维度的数据特征进行拼接,得到目标对象文本;
所述调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,包括:
调用训练后的对象识别模型,对所述目标对象文本进行处理,得到所述对象识别结果。
3.根据权利要求2所述的方法,其特征在于,所述第一对象行为数据包括所述第一访问请求携带的访问数据;所述对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征,包括:
获取所述访问数据的数据量,并将所述数据量和预设数据量阈值进行比较,得到第一比较结果;
根据所述第一比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述访问数据的数据量是否小于所述预设数据量阈值。
4.根据权利要求2所述的方法,其特征在于,所述第一对象行为数据还包括所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述时间数据包括每个历史访问请求的访问时间;
所述对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征,包括:
根据所述第一访问请求的访问时间和所述每个历史访问请求的访问时间,对所述第一访问请求和各个历史访问请求进行排序,得到排序后的访问请求;
获取所述排序后的访问请求中每两个访问请求的访问时间间隔,所述访问时间间隔是由所述每两个访问请求的访问时间的差值得到的;
根据所述每两个访问请求的访问时间间隔,得到所述第一访问请求与所述预设时间段内的历史访问请求的综合时间间隔;
将所述综合时间间隔和预设时间阈值进行比较,得到第二比较结果;
根据所述第二比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述综合时间间隔是否大于所述预设时间阈值。
5.根据权利要求2所述的方法,其特征在于,所述第一对象行为数据还包括所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述对所述第一对象行为数据进行特征分析处理,得到所述第一对象行为数据在至少一个预设维度的数据特征,包括:
将所述屏幕滑动数据和预设屏幕滑动数据进行比较,得到第三比较结果;
根据所述第三比较结果生成所述第一对象行为数据在一个预设维度的数据特征,所述数据特征用于指示所述屏幕滑动数据是否为正常对象的屏幕滑动数据。
6.根据权利要求1所述的方法,其特征在于,所述获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,包括:
接收所述目标对象的终端设备发送的加密后的第一对象行为数据和第一发送时间,所述加密后的第一对象行为数据是所述终端设备使用密钥对所述第一对象行为数据进行加密得到的,所述密钥是在首次接收到所述目标对象的访问请求时发送至所述终端设备的,所述第一发送时间是所述终端设备基于第一时间戳和差值时间生成的,所述第一时间戳用于指示所述加密后的第一对象行为数据的发送时间,所述差值时间是所述终端设备基于接收到所述密钥的接收时间和所述密钥的发送时间确定的,所述密钥的发送时间是在首次接收到所述目标对象的访问请求时发送至所述终端设备的;
若所述密钥的发送时间与所述第一发送时间之间的差值小于预设差值,则基于所述密钥对所述加密后的第一对象行为数据进行解密处理,得到所述第一对象行为数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
统计在当前周期接收到的访问请求的第一数量,以及在上一周期接收到的访问请求的第二数量;
若所述第一数量与所述第二数量的差值大于预设数值,则对所述密钥进行更新,得到更新后的密钥;
将所述更新后的密钥发送至所述终端设备,所述更新后的密钥用于所述终端设备对第二对象行为数据进行加密。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的加密后的第二对象行为数据和第二发送时间,所述加密后的第二对象行为数据是所述终端设备使用所述更新后的密钥对第二对象行为数据进行加密得到的,所述第二发送时间是所述终端设备基于第二时间戳和所述差值时间生成的,所述第二时间戳用于指示所述加密后的第二对象行为数据的发送时间;
若所述密钥的发送时间与所述第二发送时间之间的差值小于预设差值,则基于所述更新后的密钥对所述加密后的第二对象行为数据进行解密处理;
若解密处理失败,且对所述终端设备使用所述更新后的密钥加密得到的加密后的第二对象行为数据解密处理失败的次数小于预设阈值,则使用所述密钥对所述加密后的第二对象行为数据进行解密处理,得到所述第二对象行为数据。
9.根据权利要求1所述的方法,其特征在于,所述若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求包括:
若所述访问地址与存储的任一目标地址相同,则向所述目标对象的终端设备发送身份验证请求,以对所述目标对象进行身份验证;
若身份验证通过,则响应所述第二访问请求;
若身份验证未通过,则拒绝响应所述第二访问请求。
10.根据权利要求1所述的方法,其特征在于,所述当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址,包括:
当所述对象识别结果指示所述目标对象为异常对象时,获取所述目标地址的访问频次;
当所述访问频次大于预设数量阈值时,存储所述目标地址。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
获取所述训练对象的训练对象行为数据,以及所述训练对象的训练标签,所述训练标签用于指示所述训练对象是否为异常对象;
调用对象识别模型,对所述训练对象行为数据进行处理,得到训练识别结果,所述训练识别结果用于指示所述训练对象是否为异常对象;
基于所述训练识别结果和所述训练标签,对所述对象识别模型进行训练,以得到所述训练后的对象识别模型。
12.一种访问请求的处理装置,其特征在于,所述访问请求的处理装置包括获取单元和处理单元,其中:
所述获取单元,用于在接收到目标对象的第一访问请求时,获取所述目标对象发起所述第一访问请求的过程中采集到的第一对象行为数据,以及所述目标对象发起所述第一访问请求的目标地址,其中,所述第一对象行为数据包括如下一种或多种:所述第一访问请求携带的访问数据,所述目标地址在预设时间段内发起的历史访问请求的时间数据,所述目标对象发起所述第一访问请求的过程中的屏幕滑动数据;
所述处理单元,用于调用训练后的对象识别模型,对所述第一对象行为数据进行处理,得到对象识别结果,其中,所述对象识别结果用于指示所述目标对象是否为异常对象,所述训练后的对象识别模型是基于训练对象的训练对象行为数据和所述训练对象的训练标签对对象识别模型进行训练得到的;
所述处理单元,还用于当所述对象识别结果指示所述目标对象为异常对象时,存储所述目标地址;
所述处理单元,还用于在接收到任一对象的第二访问请求时,将所述任一对象发起所述第二访问请求的访问地址与存储的各个目标地址进行比较;
所述处理单元,还用于若所述访问地址与存储的任一目标地址相同,则拒绝响应所述第二访问请求。
13.一种计算机设备,其特征在于,包括:
处理器,所述处理器适于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-11任一项所述的访问请求的处理方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行如权利要求1-11任一项所述的访问请求的处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-11任一项所述的访问请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210508110.3A CN117112937A (zh) | 2022-05-11 | 2022-05-11 | 访问请求的处理方法、相关设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210508110.3A CN117112937A (zh) | 2022-05-11 | 2022-05-11 | 访问请求的处理方法、相关设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112937A true CN117112937A (zh) | 2023-11-24 |
Family
ID=88802557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210508110.3A Pending CN117112937A (zh) | 2022-05-11 | 2022-05-11 | 访问请求的处理方法、相关设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112937A (zh) |
-
2022
- 2022-05-11 CN CN202210508110.3A patent/CN117112937A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumari et al. | Multimedia big data computing and Internet of Things applications: A taxonomy and process model | |
CN110569377B (zh) | 一种媒体文件的处理方法和装置 | |
US10915828B2 (en) | Website address identification method and apparatus | |
US20150169710A1 (en) | Method and apparatus for providing search results | |
CN111414122B (zh) | 一种智能文本处理方法、装置、电子设备及存储介质 | |
CN111552799B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN106446228A (zh) | 一种web页面数据的采集分析方法及装置 | |
US20150154303A1 (en) | System and method for providing content recommendation service | |
CN111026858A (zh) | 基于项目推荐模型的项目信息处理方法及装置 | |
CN110597963A (zh) | 表情问答库的构建方法、表情搜索方法、装置及存储介质 | |
US10803257B2 (en) | Machine translation locking using sequence-based lock/unlock classification | |
CN111552797B (zh) | 名称预测模型的训练方法、装置、电子设备及存储介质 | |
EP3830723B1 (en) | Increasing security of a password-protected resource based on publicly available data | |
CN111314388A (zh) | 用于检测sql注入的方法和装置 | |
US20220391595A1 (en) | User discussion environment interaction and curation via system-generated responses | |
CN111142728B (zh) | 车载环境智能文本处理方法、装置、电子设备及存储介质 | |
WO2023115974A1 (zh) | 多媒体资源推荐、对象表征网络的生成方法及装置 | |
WO2020252880A1 (zh) | 反向图灵验证方法及装置、存储介质、电子设备 | |
US20130230248A1 (en) | Ensuring validity of the bookmark reference in a collaborative bookmarking system | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN117112937A (zh) | 访问请求的处理方法、相关设备及存储介质 | |
CN113785307B (zh) | 安全和隐私保护设备分类的系统和方法 | |
RU2762241C2 (ru) | Система и способ выявления мошеннических активностей при взаимодействии пользователя с банковскими сервисами | |
US11902223B2 (en) | Intelligent assistant content generation | |
US20230032625A1 (en) | Method and device for collecting website |
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 |