CN111597424A - 爬虫识别方法、装置、计算机设备和存储介质 - Google Patents
爬虫识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111597424A CN111597424A CN202010705496.8A CN202010705496A CN111597424A CN 111597424 A CN111597424 A CN 111597424A CN 202010705496 A CN202010705496 A CN 202010705496A CN 111597424 A CN111597424 A CN 111597424A
- Authority
- CN
- China
- Prior art keywords
- token
- code
- crawler
- terminal equipment
- network access
- 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
Images
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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及数据处理技术领域,揭示了一种爬虫识别方法、装置、计算机设备和存储介质,其中方法包括:当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;将指定JS代码发送至终端设备;判断是否接收到终端设备在接收到指定JS代码后,再次发出的第二次网络访问请求;若接收到第二次网络访问请求,则获取第二次网络访问请求中的头部信息;判断头部信息中是否包含第一token;若包含第一token,则判断第一token是否与缓存中预存储的第二token相同;若相同,则判定终端设备不具有爬取服务器端的数据的爬虫风险;若不相同,则判定终端设备具有爬取服务器端的数据的爬虫风险。本申请提高了爬虫识别的效率与准确性。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种爬虫识别方法、装置、计算机设备和存储介质。
背景技术
爬虫是一种自动获取网页内容的程序,是搜索引擎的重要组成部分。随着互联网的广泛普及与web技术的快速发展,互联网上的爬虫数量日益增加。通过使用爬虫爬取目标网站内容,造成网站内容被他人以低成本方式获取并利用,威胁信息财产安全,这使得保护网站发布的内容免于被恶意爬虫爬取,显得极为重要。现有的爬虫识别方法通常采用的是简单判断方式:如某IP请求数在指定时间窗口内达到一定阈值则判断为爬虫,这种方式需要统计一段时间内IP的访问次数,会导致一定的滞后性;或者User-agent字符串包含爬虫相关信息,而大多数爬虫会通过改变User-agent进行伪装,这种方式会产生大量误判与漏判。因此,现有的爬虫识别方法存在一定的延时判断,无法及时对爬虫进行识别判断,且判断生成的爬虫识别结果的准确性也不高。
发明内容
本申请的主要目的为提供一种爬虫识别方法、装置、计算机设备和存储介质,旨在解决现有的爬虫识别方法存在一定的延时判断,无法及时对爬虫进行识别判断,且判断生成的爬虫识别结果的准确性也不高的技术问题。
本申请提出一种爬虫识别方法,应用于服务器端,所述方法包括步骤:
当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
将所述指定JS代码发送至所述终端设备;
判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
判断所述头部信息中是否包含第一token;
若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
可选地,所述根据预设的JS代码模板与预设的随机字符串,生成指定JS代码的步骤,包括:
获取预设的JS代码模板;
生成一个随机字符串;
使用所述随机字符串对所述JS代码模板中的指定数据进行替换,得到替换后的JS代码模板,其中,所述指定数据为与指定符号对应的数据;
对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码,其中,所述指定JS代码存储于区块链系统的区块链上。
可选地,所述判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求的步骤之后,包括:
若判断出未接收到所述终端设备再次发出的所述第二次网络访问请求,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
限制对所述网络访问请求进行响应。
可选地,所述判断所述头部信息中是否包含第一token的步骤之后,包括:
若判断出所述头部信息中不包含所述第一token,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
限制对所述第二次网络访问请求进行响应。
可选地,所述若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同的步骤之前,包括:
获取所述替换后的JS代码模板;
生成与所述替换后的JS代码模板相同的JS代码模板副本;
执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token;
将所述第二token存储于缓存中。
可选地,所述执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token的步骤,包括:
获取与所述JS代码模板副本对应的计算逻辑;
对所述JS代码模板副本内的随机字符串执行所述计算逻辑,以计算得到所述JS代码模板副本内的随机字符串的base64编码值;
将所述base64编码值确定为所述第二token。
可选地,所述若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险的步骤之后,包括:
在所述缓存中删除所述第二token。
本申请还提供一种爬虫识别装置,应用于服务器端,包括:
第一生成模块,用于当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
发送模块,用于将所述指定JS代码发送至所述终端设备;
第一判断模块,用于判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
第一获取模块,用于若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
第二判断模块,用于判断所述头部信息中是否包含第一token;
第三判断模块,用于若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
第一判定模块,用于若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
第二判定模块,用于若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的爬虫识别方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的爬虫识别方法、装置、计算机设备和存储介质,当接收到终端设备发送的网络访问请求时,会根据预设的JS代码模板与预设的随机字符串,生成指定JS代码并返回至终端设备。如果上述终端设备为正常的浏览器,则该终端设备会具备执行上述指定JS代码的运行环境,并在执行完毕上述指定JS代码后,该终端设备会生成与缓存中预存储的第二token相同的token,且后续终端设备会向服务器端再次发出携带有与第二token相同的token的第二次网络访问请求。因而当检测出终端设备再次发出的第二次网络访问请求中包含的第一token,与缓存中预存储的第二token相同时,则判定上述终端设备不具有爬取上述服务器端的数据的爬虫风险。而如果上述终端设备不是正常的浏览器,而是伪装成浏览器来发送请求的爬虫程序时,由于爬虫程序不具备执行代码的运行环境,即使终端设备获取了服务器端发出的指定JS代码,但终端设备也无法通过执行该指定JS代码来生成与上述第二token相同的一个token。所以当检测出终端设备再次发出的第二次网络访问请求中包含的第一token,与缓存中预存储的第二token不相同时,则可判定终端设备再次发出的第二次网络访问请求中包含的第一token是由终端设备自身伪造生成的,而不是通过执行指定JS代码来生成,进而可以判定上述终端设备具有爬取上述服务器端的数据的爬虫风险。本申请能够根据终端设备发出的请求实时快速地进行相应的爬虫识别判断处理,并且能够精准地识别出发送请求的终端设备是否具有爬虫服务器端的爬虫风险,有效地提高了爬虫识别的准确性。
附图说明
图1 是本申请一实施例的爬虫识别方法的流程示意图;
图2是本申请一实施例的爬虫识别装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的爬虫识别方法,应用于服务器端,包括:
S1:当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
S2:将所述指定JS代码发送至所述终端设备;
S3:判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
S4:若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
S5:判断所述头部信息中是否包含第一token;
S6:若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
S7:若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
S8:若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
如上述步骤S1至S8所述,本方法实施例的执行主体为一种爬虫识别装置。在实际应用中,上述爬虫识别装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互,该爬虫识别装置具体可为服务器端。本实施例的爬虫识别装置能够实时准确有效地检测出当前发送网络访问请求的终端设备是否具有爬取服务器端的数据的爬虫风险。具体地,当接收到终端设备发送的网络访问请求时,首先根据预设的JS代码模板与预设的随机字符串,生成指定JS代码。其中,上述终端设备为可用于发送网络访问请求的发送端,例如可以为浏览器,或者为爬虫程序。上述JS代码模板可由用户根据实际需求编写生成并输入至服务器端内。上述JS代码模板具体可用于计算一个字符串的base64编码值,且该JS代码模板具体可参照如下内容:
(function(a) {
varencodeData = window.btoa(a);
encodeData = "antibot:" + window.btoa(a);
return encodeData;
}('$'));
另外,对于上述随机字符串的具体内容不作限定,可根据实际的使用需求来随机地生成一个随机字符串。举例地,上述随机字符串具体可为HObL8r8FSTOgAnlK。此外,上述指定JS代码是根据上述JS代码模板与上述随机字符串来生成的。在生成了上述指定JS代码后,再将上述指定JS代码返回至上述终端设备。其中,如果上述终端设备为正常的不具有爬虫风险的浏览器,则该终端设备会执行接收到的上述指定JS代码来得到一个特定token,并在得到特定token后,终端设备会自动再次向服务器端发送携带有该特定token的网络访问请求。另外,由服务器端发送给终端设备的指定JS代码可以是明文的,或者是经过加密的,还可以是经过混淆处理的。在将上述指定JS代码返回至上述终端设备后,然后判断是否接收到上述终端设备在接收到上述指定JS代码后,再次发出的第二次网络访问请求。如果判断出接收到上述终端设备再次发出的第二次网络访问请求,则获取上述第二次网络访问请求中的头部信息。之后判断上述头部信息中是否包含第一token。其中,可对上述头部信息进行信息分析来确定出该头部信息是否包含有第一token。若判断出上述头部信息中包含第一token,则进一步判断上述第一token是否与缓存中预存储的第二token相同。其中,服务器端会对上述JS代码模板进行维护,并会对上述随机字符串执行与上述JS代码模板对应的计算逻辑,进而生成与上述随机字符串对应的第二token,并将该第二token存储在缓存中。如果判断出上述第一token与缓存中预存储的第二token相同,则判定上述客户端不具有爬取上述服务器端的数据的爬虫风险。其中,如果上述终端设备为正常的浏览器,则该终端设备会具备执行上述指定JS代码的运行环境,并在执行完毕上述指定JS代码后,该终端设备会生成与缓存中预存储的第二token相同的token,且后续终端设备会向服务器端再次发出携带有与第二token相同的token的第二次网络访问请求。因而当检测出终端设备再次发出的第二次网络访问请求中包含的第一token,与缓存中预存储的第二token相同时,则判定上述终端设备不具有爬取上述服务器端的数据的爬虫风险。而如果判断出上述第一token与缓存中预存储的第二token不相同,则判定上述客户端具有爬取上述服务器端的数据的爬虫风险。其中,如果上述终端设备不是正常的浏览器,而是伪装成浏览器来发送请求的爬虫程序时,由于爬虫程序不具备执行代码的运行环境,即使终端设备获取了服务器端发出的指定JS代码,但终端设备也无法通过执行该指定JS代码来生成与上述第二token相同的一个token。所以当检测出终端设备再次发出的第二次网络访问请求中包含的token,与缓存中预存储的第二token不相同时,则可判定终端设备再次发出的第二次网络访问请求中包含的第一token是由终端设备自身伪造生成的,而不是通过执行指定JS代码来生成,进而可以判定上述终端设备具有爬取上述服务器端的数据的爬虫风险,后续还可进一步限制对所述第二次网络访问请求进行响应,以有效防止出现终端设备非法爬取服务器端内的网站数据的情况,保证网站数据的数据安全性。通过本实施例能够根据终端设备发出的请求实时快速地进行相应的爬虫识别判断处理,并且能够精准地识别出发送请求的终端设备是否具有爬虫服务器端的爬虫风险,有效地提高了爬虫识别的准确性。
进一步地,当判定上述终端设备具有爬取上述服务器端的数据的爬虫风险时,后续还可以获取上述终端设备的id信息,并将该终端设备的id信息存储至预设的爬虫黑名单内。上述爬虫黑名单为一个预先创建的用于存储具有爬虫风险的设备信息的文件。另外,后续如果服务器端再次接收到上述终端设备所发出的请求,可获取该终端设备的id信息,并判断预设的黑名单内是否存储有与该终端设备的id信息相同的指定id信息。如果判断出预设的黑名单内存储有与该终端设备的id信息相同的指定id信息,则直接快速地判定上述终端设备具有爬取上述服务器端的数据的爬虫风险,使得后续不再需要向该终端设备发送指定JS代码,也不再需要对该终端设备再次发送的第二次请求进行token的正确性验证,有效地提高了对于重复爬虫的爬虫识别效率。
进一步地,本申请一实施例中,上述步骤S1,包括:
S100:获取预设的JS代码模板;
S101:生成一个随机字符串;
S102:使用所述随机字符串对所述JS代码模板中的指定数据进行替换,得到替换后的JS代码模板,其中,所述指定数据为与指定符号对应的数据;
S103:对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码,其中,所述指定JS代码存储于区块链系统的区块链上。
如上述步骤S100至S103所述,上述根据预设的JS代码模板与预设的随机字符串,生成指定JS代码的步骤,具体可包括:首先获取上述JS代码模板。其中,上述JS代码模板可由用户根据实际需求编写生成并输入至服务器端内的,且上述JS代码模板具体可用于计算一个字符串的base64编码值。然后生成一个随机字符串。其中,对于上述随机字符串的具体内容不作限定,可根据实际的使用需求来随机地生成一个随机字符串。另外,服务器端每次生成的字符串都是随机的,生成随机字符串的作用是为了防止后续生成的与随机字符串对应的第二token每次都是固定的,从而可以防止被固定用户重复使用。举例地,上述随机字符串具体可为HObL8r8FSTOgAnlK。在得到了上述JS代码模板与上述随机字符串后,使用所述随机字符串对所述JS代码模板中的指定数据进行替换,得到替换后的JS代码模板。其中,上述指定数据为与指定符号对应的数据,上述指定符号为上述JS代码模板中的$符号,上述指定数据为与JS代码模板中的$符号对应的数据,上述替换后的JS代码模板具体可参照如下内容:
(function(a) {
varencodeData = window.btoa(a);
encodeData = "antibot:" + window.btoa(a);
return encodeData;
}('HObL8r8FSTOgAnlK'));
最后对上述替换后的JS代码模板进行混淆处理,得到上述指定JS代码。其中,可通过调用混淆工具来对上述替换后的JS代码模板进行混淆处理。另外,通过对替换后的JS代码模板进行混淆处理来得到指定JS代码,使得后续发送给客户端的指定JS代码不会被恶意用户破解,有效地提高了指定JS代码的数据传输的安全性。进一步地,上述指定JS代码存储于区块链系统的区块链上。通过使用区块链来对生成的上述指定JS代码进行存储和管理,有效地保证了上述指定JS代码的安全性与不可篡改性。
进一步地,本申请一实施例中,上述步骤S103,包括:
S1030:调用预设的混淆工具;
S1031:通过所述混淆工具对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码。
如上述步骤S1030至 S1031所述,上述对上述替换后的JS代码模板进行混淆处理,得到上述指定JS代码的步骤,具体可包括:首先调用预设的混淆工具。其中,上述混淆工具为用于混淆JS代码的工具,对该混淆工具不作具体限定,例如可采用javaScript-obfuscator、Virbox Protector Standalone等工具。在成功调用了上述混淆工具后,再通过上述混淆工具对上述换后的JS代码模板进行混淆处理,得到上述指定JS代码,以便后续能够向客户端发送该经过混淆处理的指定JS代码,有效地保证了指定JS代码的数据传输的安全性。
进一步地,本申请一实施例中,上述步骤S3之后,包括:
S300:若判断出未接收到所述终端设备再次发出的所述第二次网络访问请求,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
S301:限制对所述网络访问请求进行响应。
如上述步骤S300至S301所述,在进行判断是否接收到上述终端设备在接收到上述指定JS代码后,再次发出的第二次网络访问请求的判断过程中,还可能出现没有接收到上述终端设备再次发出的第二次网络访问请求的情形,则此时可以直接确定上述终端设备具有爬取上述服务器端的数据的爬虫风险。具体地,如果判断出未接收到上述第二次网络访问请求,则判定上述终端设备具有爬取上述服务器端的数据的爬虫风险。其中,服务器端将上述指定JS代码返回至上述终端设备的方式具体可为:向上述终端设备返回一个携带上述指定JS代码的回复页面。如果上述终端设备为正常的浏览器,则该终端设备会自动执行上述回复页面内的指定JS代码,以生成与该指定JS代码对应的特定token。并在执行完毕上述指定JS代码后,会向服务器端再次发出携带上述特定token的第二次网络访问请求。然而,如果上述终端设备不为正常的浏览器,而是伪装成浏览器来发送请求的爬虫程序时,当终端设备接收到服务器端返回的一个携带上述指定JS代码的回复页面,该终端设备可能会出现认为已经爬取到所需要的目标网页数据,则后续终端设备不会向服务器端再次发送一个第二次网络访问请求。因此,当没有检测到上述终端设备再次发出的第二次网络访问请求,则可判定上述终端设备具有爬取上述服务器端的数据的爬虫风险。之后还会限制对上述网络访问请求进行响应,以有效防止出现终端设备非法爬取服务器端内的网站数据的情况,保证网站数据的数据安全性。本实施例通过使用判断是否接收到上述终端设备再次发出的第二次网络访问请求的方式,能够智能准确地快速识别出终端设备是否具有爬取上述服务器端的数据的爬虫风险,有效地提高了爬虫识别的识别效率与识别准确性。
进一步地,本申请一实施例中,上述步骤S5之后,包括:
S500:若判断出所述头部信息中不包含所述第一token,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
S501:限制对所述第二次网络访问请求进行响应。
如上述步骤S500至S501所述,在进行判断上述头部信息中是否包含token的判断过程中,还可能出现上述头部信息中不包含第一token的情形,则此时可以直接确定上述终端设备具有爬取上述服务器端的数据的爬虫风险。具体地,如果判断出上述头部信息中不包含第一token,则判定上述终端设备具有爬取上述服务器端的数据的爬虫风险。其中,如果上述终端设备为正常的浏览器,则该终端设备会具备执行上述指定JS代码的运行环境,并在执行完毕上述指定JS代码后,该终端设备会生成与缓存中预存储的第二token相同的特定token的第二次网络访问请求,且后续终端设备会向服务器端再次发出携带有与第二token相同的特定token的第二次网络访问请求。而如果上述终端设备不是正常的浏览器,而是伪装成浏览器来发送请求的爬虫程序时,由于爬虫程序不具备执行代码的运行环境,即使终端设备获取了服务器端发出的指定JS代码,但终端设备也无法通过执行该指定JS代码,来生成与上述第二token相同的一个token。从而终端设备在没有爬取到所需的目标网页数据时,后续在向服务器端发出的第二次网络访问请求中不会携带有token,更不会携带有与上述第二token相同的token。因此当检测出终端设备再次发出的第二次网络访问请求中不包含第一token时,则可直接判定上述终端设备具有爬取上述服务器端的数据的爬虫风险。之后还会限制对上述第二次网络访问请求进行响应,以有效防止出现终端设备非法爬取服务器端内的网站数据的情况,保证网站数据的数据安全性。本实施例通过使用判断上述头部信息中是否包含token的方式,能够智能准确地快速识别出终端设备是否具有爬取上述服务器端的数据的爬虫风险,有效地提高了爬虫识别的识别效率与识别准确性。
进一步地,本申请一实施例中,上述步骤S6之前,包括:
S600:获取所述替换后的JS代码模板;
S601:生成与所述替换后的JS代码模板相同的JS代码模板副本;
S602:执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token;
S603:将所述第二token存储于缓存中。
如上述步骤S600至S603所述,在进行若判断出上述头部信息中包含上述第一token,则判断上述第一token是否与缓存中预存储的第二token相同的判断过程之前,还包括生成上述第二token的生成过程。具体地,上述判断上述第一token是否与缓存中预存储的第二token相同的步骤之前,包括:首先获取上述替换后的JS代码模板。然后生成与上述替换后的JS代码模板相同的JS代码模板副本。在得到了上述JS代码模板副本后,再执行上述JS代码模板副本,生成与上述JS代码模板副本内的随机字符串对应的第二token。最后在生成了上述第二token时,再将上述第二token存储于缓存中,以便后续通过使用该第二token来判别出上述第一token是否与缓存中预存储的第二token相同,进而根据得到的判别结果来精准地识别出发送请求的终端设备是否具有爬虫服务器端的爬虫风险,有效地提高了爬虫识别的准确性。
本申请一实施例中,上述步骤S602,包括:
S6020:获取与所述JS代码模板副本对应的计算逻辑;
S6021:对所述JS代码模板副本内的随机字符串执行所述计算逻辑,以计算得到所述JS代码模板副本内的随机字符串的base64编码值;
S6022:将所述base64编码值确定为所述第二token。
如上述步骤S6020至S6022所述,上述执行上述JS代码模板副本,生成与上述JS代码模板副本内的随机字符串对应的第二token的步骤,具体可包括:首先获取与上述JS代码模板副本对应的计算逻辑。在获取到了上述计算逻辑后,再对上述JS代码模板副本内的随机字符串执行上述计算逻辑,以计算得到上述JS代码模板副本内的随机字符串的base64编码值。其中,上述JS代码模板副本的内容与上述JS代码模板的内容相同。该JS代码模板副本也是将上述随机字符串替换上述JS代码模板中的指定数据后得到的。通过获取与上述JS代码模板副本对应的计算逻辑,再对上述JS代码模板副本内的随机字符串执行上述计算逻辑,便能计算生成上述JS代码模板副本内的随机字符串的base64编码值。举例地,当上述S代码模板副本内的随机字符串为HObL8r8FSTOgAnlK时,可计算得到对应的base64编码值为antibot:SE9iTDhy0EZTVE9nQW5sSw==。在得到了上述base64编码值后,再将该base64编码值确定为与上述随机字符串对应的第二token,以便后续通过使用该第二token来判别出上述第一token是否与缓存中预存储的第二token相同,进而根据得到的判别结果来精准地识别出发送请求的终端设备是否具有爬虫服务器端的爬虫风险,有效地提高了爬虫识别的准确性。
进一步地,本申请一实施例中,上述步骤S7之后,包括:
S700:在所述缓存中删除所述第二token。
如上述步骤S700所述,在判断出上述第一token与缓存中预存储的第二token相同,并判定上述终端设备不具有爬取上述服务器端的数据的爬虫风险,为了保证服务器端每次根据随机字符串与JS代码模板所生成的token的随机性,后续还需要对缓存中的第二token进行删除。具体地,上述若判断出在缓存中存储有上述第一token,则判定上述客户端不具有爬虫风险的步骤之后可包括:在缓存中删除上述第二token。其中,由于服务器端每次根据一个随机字符串与JS代码模板生成的第二token的使用时效性只有一次,因而在判定出上述第一token与缓存中预存储的第二token相同的情况下,则表明该第二token的使用时效已经实现了,则后续该第二token就会变成一个没有意义的数据,因而需要在缓存中删除上述第二token。本实施例在使用缓存中预存储的第二token来完成关于上述第一token是否与缓存中预存储的第二token相同的判别后,会进一步将缓存中的该第二token进行删除,从而有效的保证了上述第二token的使用时效性只有一次,且保证了每次根据随机字符串与JS代码模板生成的token不是固定的,每次生成的随机的token也不会出现被恶意重复利用的现象。
参照图2,本申请一实施例中还提供了一种爬虫识别装置,应用于服务器端,包括:
第一生成模块1,用于当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
发送模块2,用于将所述指定JS代码发送至所述终端设备;
第一判断模块3,用于判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
获取模块4,用于若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
第二判断模块5,用于判断所述头部信息中是否包含第一token;
第三判断模块6,用于若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
第一判定模块7,用于若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
第二判定模块8,用于若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
本实施例中,上述爬虫识别装置中的第一生成模块、发送模块、第一判断模块、第一获取模块、第二判断模块、第三判断模块、第一判定模块与第二判定模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S1至S8的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成模块,包括:
第一获取子模块,用于获取预设的JS代码模板;
生成子模块,用于生成一个随机字符串;
替换子模块,用于使用所述随机字符串对所述JS代码模板中的指定数据进行替换,得到替换后的JS代码模板,其中,所述指定数据为与指定符号对应的数据;
混淆子模块,用于对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码,其中,所述指定JS代码存储于区块链系统的区块链上。
本实施例中,上述爬虫识别装置中的第一获取子模块、生成子模块、替换子模块与混淆子模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S100至S103的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述混淆子模块,包括:
调用单元,用于调用预设的混淆工具;
混淆单元,用于通过所述混淆工具对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码。
本实施例中,上述爬虫识别装置中的调用单元与混淆单元的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S1030至 S1031的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述爬虫识别装置,包括:
第三判定模块,用于若判断出未接收到所述终端设备再次发出的所述第二次网络访问请求,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
第一处理模块,用于限制对所述网络访问请求进行响应。
本实施例中,上述爬虫识别装置中的第三判定模块与第一处理模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S300至S301的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述爬虫识别装置,包括:
第四判定模块,用于若判断出所述头部信息中不包含所述第一token,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
第二处理模块,用于限制对所述第二次网络访问请求进行响应。
本实施例中,上述爬虫识别装置中的第四判定模块与第二处理模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S500至S501的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述爬虫识别装置,包括:
第二获取模块,用于获取所述替换后的JS代码模板;
第二生成模块,用于生成与所述替换后的JS代码模板相同的JS代码模板副本;
执行模块,用于执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token;
存储模块,用于将所述第二token存储于缓存中。
本实施例中,上述爬虫识别装置中的第二获取模块、第二生成模块、执行模块与存储模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S600至S603的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述执行模块,包括:
第二获取子模块,用于获取与所述JS代码模板副本对应的计算逻辑;
计算子模块,用于对所述JS代码模板副本内的随机字符串执行所述计算逻辑,以计算得到所述JS代码模板副本内的随机字符串的base64编码值;
确定子模块,用于将所述base64编码值确定为所述第二token。
本实施例中,上述爬虫识别装置中的第二获取子模块、计算子模块与确定子模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S6020至S6022的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述爬虫识别装置,包括:
删除模块,用于在所述缓存中删除所述第二token。
本实施例中,上述爬虫识别装置中的删除模块的功能和作用的实现过程具体详见上述爬虫识别方法中对应步骤S700的实现过程,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储JS代码模板、随机字符串、指定JS代码、第一token以及第二token等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种爬虫识别方法。
上述处理器执行上述爬虫识别方法的步骤:
当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
将所述指定JS代码发送至所述终端设备;
判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
判断所述头部信息中是否包含第一token;
若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种爬虫识别方法,具体为:
当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
将所述指定JS代码发送至所述终端设备;
判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
判断所述头部信息中是否包含第一token;
若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
综上所述,本申请实施例中提供的爬虫识别方法、装置、计算机设备和存储介质,当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;将所述指定JS代码发送至所述终端设备;判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;判断所述头部信息中是否包含第一token;若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。通过本实施例能够根据终端设备发出的请求实时快速地进行相应的爬虫识别判断处理,并且能够精准地识别出发送请求的终端设备是否具有爬虫服务器端的爬虫风险,有效地提高了爬虫识别的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种爬虫识别方法,其特征在于,应用于服务器端,包括:
当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
将所述指定JS代码发送至所述终端设备;
判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
判断所述头部信息中是否包含第一token;
若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
2.根据权利要求1所述的爬虫识别方法,其特征在于,所述根据预设的JS代码模板与预设的随机字符串,生成指定JS代码的步骤,包括:
获取预设的JS代码模板;
生成一个随机字符串;
使用所述随机字符串对所述JS代码模板中的指定数据进行替换,得到替换后的JS代码模板,其中,所述指定数据为与指定符号对应的数据;
对所述替换后的JS代码模板进行混淆处理,得到所述指定JS代码,其中,所述指定JS代码存储于区块链系统的区块链上。
3.根据权利要求1所述的爬虫识别方法,其特征在于,所述判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求的步骤之后,包括:
若判断出未接收到所述终端设备再次发出的所述第二次网络访问请求,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
限制对所述网络访问请求进行响应。
4.根据权利要求1所述的爬虫识别方法,其特征在于,所述判断所述头部信息中是否包含第一token的步骤之后,包括:
若判断出所述头部信息中不包含所述第一token,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险;
限制对所述第二次网络访问请求进行响应。
5.根据权利要求2所述的爬虫识别方法,其特征在于,所述若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同的步骤之前,包括:
获取所述替换后的JS代码模板;
生成与所述替换后的JS代码模板相同的JS代码模板副本;
执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token;
将所述第二token存储于缓存中。
6.根据权利要求5所述的爬虫识别方法,其特征在于,所述执行所述JS代码模板副本,生成与所述JS代码模板副本内的随机字符串对应的第二token的步骤,包括:
获取与所述JS代码模板副本对应的计算逻辑;
对所述JS代码模板副本内的随机字符串执行所述计算逻辑,以计算得到所述JS代码模板副本内的随机字符串的base64编码值;
将所述base64编码值确定为所述第二token。
7.根据权利要求1所述的爬虫识别方法,其特征在于,所述若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险的步骤之后,包括:
在所述缓存中删除所述第二token。
8.一种爬虫识别装置,其特征在于,应用于服务器端,包括:
第一生成模块,用于当接收到终端设备发送的网络访问请求时,根据预设的JS代码模板与预设的随机字符串,生成指定JS代码;
发送模块,用于将所述指定JS代码发送至所述终端设备;
第一判断模块,用于判断是否接收到所述终端设备在接收到所述指定JS代码后,再次发出的第二次网络访问请求;
第一获取模块,用于若判断出接收到所述终端设备再次发出的所述第二次网络访问请求,则获取所述第二次网络访问请求中的头部信息;
第二判断模块,用于判断所述头部信息中是否包含第一token;
第三判断模块,用于若判断出所述头部信息中包含所述第一token,则判断所述第一token是否与缓存中预存储的第二token相同;
第一判定模块,用于若判断出所述第一token与缓存中预存储的第二token相同,则判定所述终端设备不具有爬取所述服务器端的数据的爬虫风险;
第二判定模块,用于若判断出所述第一token与缓存中预存储的第二token不相同,则判定所述终端设备具有爬取所述服务器端的数据的爬虫风险。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705496.8A CN111597424A (zh) | 2020-07-21 | 2020-07-21 | 爬虫识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705496.8A CN111597424A (zh) | 2020-07-21 | 2020-07-21 | 爬虫识别方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597424A true CN111597424A (zh) | 2020-08-28 |
Family
ID=72191754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705496.8A Pending CN111597424A (zh) | 2020-07-21 | 2020-07-21 | 爬虫识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597424A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804266A (zh) * | 2021-04-08 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备和存储介质 |
CN112953958A (zh) * | 2021-03-09 | 2021-06-11 | 拉扎斯网络科技(上海)有限公司 | 一种爬虫检测方法、装置及电子设备 |
CN113626675A (zh) * | 2021-08-10 | 2021-11-09 | 北京天融信网络安全技术有限公司 | 一种数据处理方法、系统及计算机存储介质 |
CN114338146A (zh) * | 2021-12-27 | 2022-04-12 | 中国民航信息网络股份有限公司 | 一种基于动态码的反爬虫方法、系统、客户端和服务器 |
CN114553541A (zh) * | 2022-02-17 | 2022-05-27 | 苏州良医汇网络科技有限公司 | 一种分级校验防爬虫的方法、装置、设备及存储介质 |
CN115065520A (zh) * | 2022-06-09 | 2022-09-16 | 中国电信股份有限公司 | 反爬虫处理方法、装置、电子设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850592A (zh) * | 2017-01-13 | 2017-06-13 | 咪咕视讯科技有限公司 | 一种信息处理方法、服务器及终端 |
US20180375791A1 (en) * | 2017-06-23 | 2018-12-27 | Ca, Inc. | Authorization of varying levels of access to a resource server |
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
CN110113366A (zh) * | 2019-06-24 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种csrf漏洞的检测方法及装置 |
CN110519280A (zh) * | 2019-08-30 | 2019-11-29 | 北京思维造物信息科技股份有限公司 | 一种爬虫识别方法、装置、计算机设备及存储介质 |
CN110581841A (zh) * | 2019-08-15 | 2019-12-17 | 上海建桥学院 | 一种后端反爬虫方法 |
CN110933065A (zh) * | 2019-11-26 | 2020-03-27 | 深圳市信联征信有限公司 | 网页防爬虫方法、装置、计算机设备及存储介质 |
-
2020
- 2020-07-21 CN CN202010705496.8A patent/CN111597424A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850592A (zh) * | 2017-01-13 | 2017-06-13 | 咪咕视讯科技有限公司 | 一种信息处理方法、服务器及终端 |
US20180375791A1 (en) * | 2017-06-23 | 2018-12-27 | Ca, Inc. | Authorization of varying levels of access to a resource server |
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
CN110113366A (zh) * | 2019-06-24 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种csrf漏洞的检测方法及装置 |
CN110581841A (zh) * | 2019-08-15 | 2019-12-17 | 上海建桥学院 | 一种后端反爬虫方法 |
CN110519280A (zh) * | 2019-08-30 | 2019-11-29 | 北京思维造物信息科技股份有限公司 | 一种爬虫识别方法、装置、计算机设备及存储介质 |
CN110933065A (zh) * | 2019-11-26 | 2020-03-27 | 深圳市信联征信有限公司 | 网页防爬虫方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
吕秋云 等: "《网络空间安全技术实践教程》", 30 September 2017, 西安电子科技大学出版社 * |
吾乃攻城猫喵大人: "基于JS-Injection的反爬虫分析、绕过和加固建议", 《云社区-博客,HTTPS://BBS.HUAWEICLOUD.COM/BLOGS/116496》 * |
黑马程序员: "《解析Python网络爬虫 核心技术、Scrapy框架、分布式爬虫》", 31 July 2018, 北京:中国铁道出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953958A (zh) * | 2021-03-09 | 2021-06-11 | 拉扎斯网络科技(上海)有限公司 | 一种爬虫检测方法、装置及电子设备 |
CN112804266A (zh) * | 2021-04-08 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备和存储介质 |
CN113626675A (zh) * | 2021-08-10 | 2021-11-09 | 北京天融信网络安全技术有限公司 | 一种数据处理方法、系统及计算机存储介质 |
CN114338146A (zh) * | 2021-12-27 | 2022-04-12 | 中国民航信息网络股份有限公司 | 一种基于动态码的反爬虫方法、系统、客户端和服务器 |
CN114338146B (zh) * | 2021-12-27 | 2023-08-15 | 中国民航信息网络股份有限公司 | 一种基于动态码的反爬虫方法、系统、客户端和服务器 |
CN114553541A (zh) * | 2022-02-17 | 2022-05-27 | 苏州良医汇网络科技有限公司 | 一种分级校验防爬虫的方法、装置、设备及存储介质 |
CN114553541B (zh) * | 2022-02-17 | 2024-02-06 | 苏州良医汇网络科技有限公司 | 一种分级校验防爬虫的方法、装置、设备及存储介质 |
CN115065520A (zh) * | 2022-06-09 | 2022-09-16 | 中国电信股份有限公司 | 反爬虫处理方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597424A (zh) | 爬虫识别方法、装置、计算机设备和存储介质 | |
CN112540811B (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN109005142B (zh) | 网站安全检测方法、装置、系统、计算机设备和存储介质 | |
CN112800290B (zh) | 一种追溯数据获取方法、装置及设备 | |
CN102368257A (zh) | 动态内容中的跨站点脚本阻止 | |
CN112464117A (zh) | 请求处理方法、装置、计算机设备和存储介质 | |
CN112383535B (zh) | 哈希传递攻击行为的检测方法、装置和计算机设备 | |
CN110569658A (zh) | 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质 | |
CN111353903A (zh) | 一种网络身份保护方法、装置及电子设备和存储介质 | |
CN113326081A (zh) | 静态资源的处理方法、装置、计算机设备和存储介质 | |
CN112182614B (zh) | 一种动态Web应用防护系统 | |
CN112131564A (zh) | 加密数据通信方法、装置、设备以及介质 | |
CN110598478A (zh) | 基于区块链的证据校验方法、装置、设备和存储介质 | |
CN112637282B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN112668041A (zh) | 单证文件的生成方法、装置、计算机设备和存储介质 | |
CN113742776A (zh) | 基于生物识别技术的数据校验方法、装置和计算机设备 | |
CN113660229B (zh) | 基于rpa的多系统单点登录方法、装置、设备及介质 | |
CN110598476A (zh) | 基于区块链的作品存证方法、装置和计算机可读存储介质 | |
CN111339141A (zh) | 一种数据传输的方法、区块链节点设备以及介质 | |
CN113672654A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN113435990A (zh) | 基于规则引擎的凭证生成方法、装置和计算机设备 | |
CN113420307B (zh) | 密文数据的评估方法、装置、计算机设备和存储介质 | |
CN112650659B (zh) | 埋点设置方法、装置、计算机设备和存储介质 | |
CN113535260B (zh) | 基于模拟器的数据处理方法、装置、设备及存储介质 | |
CN115225636A (zh) | 请求处理方法、装置、计算机设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200828 |