CN109150790A - Web页面爬虫识别方法和装置 - Google Patents

Web页面爬虫识别方法和装置 Download PDF

Info

Publication number
CN109150790A
CN109150790A CN201710451203.6A CN201710451203A CN109150790A CN 109150790 A CN109150790 A CN 109150790A CN 201710451203 A CN201710451203 A CN 201710451203A CN 109150790 A CN109150790 A CN 109150790A
Authority
CN
China
Prior art keywords
script
request
identified
record
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710451203.6A
Other languages
English (en)
Other versions
CN109150790B (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 CN201710451203.6A priority Critical patent/CN109150790B/zh
Publication of CN109150790A publication Critical patent/CN109150790A/zh
Application granted granted Critical
Publication of CN109150790B publication Critical patent/CN109150790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种Web页面爬虫识别方法和装置,涉及计算机技术领域。其中,该方法包括:在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;在所述浏览器可执行脚本被执行时,生成脚本执行记录;根据预设时间段内的网页访问记录和脚本执行记录进行爬虫识别。通过以上方法,能够有效识别爬虫,尤其是恶意爬虫,进而达到对Web服务进行保护的作用。

Description

Web页面爬虫识别方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种Web页面爬虫识别方法和装置。
背景技术
目前,除了正规搜索引擎研发的爬虫软件以外,还有更多不为人知的小公司或技术团队开发的恶意爬虫软件。正规搜索引擎的主旨在于方便用户检索有用信息。他们研发的爬虫软件在爬取网页信息的时候会进行频次和流量的控制,因而不会给网站造成太大的影响。然而,现在有很多恶意爬虫软件通过把自己伪装成正常用户,盗取网页信息或者进行恶意攻击,进而给网站造成很大影响。
现有技术中,一般是通过记录、分析服务器访问日志,并通过统计访问频次识别恶意爬虫或者恶意流量。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:通过访问频次识别恶意爬虫或者恶意流量的方法有很大的误判可能性。比如:如果甄别的访问频次阈值设置的比较严格,那么流量大的用户就容易被误判成恶意爬虫;如果甄别的访问频次阈值设置的比较宽泛,那么爬取速度比较慢的恶意爬虫就难以发现。
发明内容
有鉴于此,本发明实施例提供一种Web页面爬虫识别方法和装置,以能够有效识别爬虫,尤其是恶意爬虫,进而达到对Web服务进行保护的作用。
为实现上述目的,根据本发明实施例的一个方面,提供了一种Web页面爬虫识别方法。
本发明实施例的Web页面爬虫识别方法包括:在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;在所述浏览器可执行脚本被执行时,生成脚本执行记录;根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。
可选地,根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,包括:统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2;在所述待识别的请求来源IP满足:或者满足:且N2=0的情况下,将所述待识别的请求来源IP识别为爬虫的IP;其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。
可选地,所述网页访问记录包括:请求来源IP、接收网页访问请求的时间、用户代理信息;所述脚本执行记录包括:请求来源IP、接收指定请求的时间;所述根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,还包括:根据用户代理信息排除正规搜索引擎的请求来源IP,构建待识别的请求来源IP的集合。
可选地,所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。
可选地,所述指定请求为:接口请求或图片请求。
可选地,所述方法还包括:在所述浏览器可执行脚本被执行的步骤之后,对所述请求校验值进行合法性检查、并计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值;在所述请求校验值检查合法、且所述差值小于预设阈值的情况下,生成脚本执行记录。
可选地,所述方法还包括:定时对所述浏览器可执行脚本进行更新。
可选地,所述方法还包括:在将浏览器可执行脚本插入对应所述网页访问请求的返回页面的步骤之前,先随机生成浏览器可执行脚本。
为实现上述目的,根据本发明实施例的另一方面,提供了一种Web页面爬虫识别装置。
本发明实施例的Web页面爬虫识别装置包括:脚本添加模块,用于在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;记录生成模块,用于所述浏览器可执行脚本被执行时,生成脚本执行记录;爬虫识别模块,用于根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。
可选地,所述爬虫识别模块根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,包括:统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2;在所述待识别的请求来源IP满足:或者满足:且N2=0的情况下,将所述待识别的请求来源IP识别为爬虫的IP;其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。
可选地,所述网页访问记录包括:请求来源IP、接收网页访问请求的时间、用户代理信息;所述脚本执行记录包括:请求来源IP、接收指定请求的时间;所述爬虫识别模块,还用于:根据用户代理信息排除正规搜索引擎的请求来源IP,构建待识别的请求来源IP的集合。
可选地,所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。
可选地,所述指定请求为:接口请求或图片请求。
可选地,所述装置还包括:检查模块;检查模块,用于在所述浏览器可执行脚本被执行之后,对所述请求校验值进行合法性检查,计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值、并将所述差值与预设阈值进行比较;记录生成模块,用于在所述请求校验值检查合法、且所述差值小于预设阈值的情况下,生成脚本执行记录。
可选地,所述装置还包括:脚本更新模块,用于定时对所述浏览器可执行脚本进行更新。
可选地,所述装置还包括:脚本生成模块,用于随机生成所述浏览器可执行脚本。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种服务器。
本发明实施例的服务器,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的Web页面爬虫识别方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的Web页面爬虫识别方法。
上述发明中的一个实施例具有如下优点或有益效果:通过在网页访问请求的返回页面中插入浏览器可执行脚本,并在所述浏览器可执行脚本被执行时生成脚本执行记录,再根据网页访问记录和脚本执行记录进行爬虫识别。这样一来,能够利用爬虫不执行浏览器可执行脚本的特点对其进行识别,降低了误判可能性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的Web页面爬虫识别方法的主要步骤的示意图;
图2是根据本发明另一个实施例的Web页面爬虫识别方法的主要步骤的示意图;
图3是根据本发明一个实施例的Web页面爬虫识别装置的主要模块的示意图;
图4是根据本发明另一个实施例的Web页面爬虫识别装置的主要模块的示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。
图1是根据本发明一个实施例的Web页面爬虫识别方法的主要步骤的示意图。本发明实施例所提供的Web页面爬虫识别方法一般由服务器执行。如图1所示,本发明实施例的Web页面爬虫识别方法主要包括以下步骤:
步骤S101、在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面。
在该步骤中,正常用户或爬虫软件向服务器发送网页访问请求。例如,正常用户或爬虫软件向服务器发送如下网页访问请求:https://search.jd.com/Search?keyword=mp3&enc=utf-8&wq=mp3&pvid=b9dfb912688a4b128e77b3252e8b532b。服务器在接收所述网页访问请求之后,生成网页访问记录,并且将一段浏览器可执行脚本(比如Javascript脚本)插入返回页面中。其中,所述网页访问记录通常包括:请求来源IP、接收网页访问请求的时间、用户代理信息(USER_AGENT)、访问链接地址。一般来说,所述用户代理信息包括浏览器和操作系统等信息。所述浏览器可执行脚本包括:指定请求地址、请求参数。在一优选实施方式中,所述指定请求为图片请求或图片请求。通过将浏览器可执行脚本中的指定请求设置为图片请求,能够起到一定的隐蔽效果。
步骤S102、在所述浏览器可执行脚本被执行时,生成脚本执行记录。
在该步骤中,如果是正常用户,那么他在接收到返回页面之后,会通过浏览器执行返回页面中的浏览器可执行脚本,即再次访问服务器。在服务器接收到指定请求时,生成脚本执行记录。其中,所述脚本执行记录包括:请求来源IP、接收指定请求的时间等信息。如果是爬虫软件,则一般不会返回页面中的执行浏览器可执行脚本。这是由于执行浏览器可执行脚本需要很大的计算量,因此,爬虫软件不会采用浏览器执行该可执行脚本。
步骤S103、根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP(网际协议地址)进行爬虫识别。
一般来说,服务器在接收到网页访问请求时,都会生成网页访问记录。所述网页访问记录通常包括:请求来源IP、接收网页访问请求的时间、用户代理信息(USER_AGENT)、访问链接地址。通常,所述用户代理信息包括浏览器和操作系统等信息。
在一优选实施方式中,该步骤具体包括:首先,统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2。在本发明实施例中,所述预设时间段设为1天。然后,判断所述待识别的请求来源IP是否满足以下判断条件:或者,且N2=0。其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。例如,C可以取10。若所述待识别的请求来源IP满足上述判断条件,则将所述待识别的请求来源IP识别为爬虫的IP。否则,将所述待识别的用户来源IP识别为正常用户。
可理解的是,在不影响本发明实施的情况下,本领域技术人员可根据实际需求调整预设时间段的值、调整C的取值。比如,所述预设时间段也可设为5小时或者其他,C也可设为8或者其他。另外,在不影响本发明实施的情况下,本领域技术人员还可采取其他合理的判断条件。
进一步,在以上优选实施方式中,步骤S103还包括:在统计N1、N2之前,先根据网络访问记录中的用户代理信息排除正规搜索引擎的请求来源IP,然后,根据排除正规搜索引擎之后的所有请求来源IP,构建待识别的请求来源IP的集合。通过先排除正规搜索引擎的爬虫软件,然后再执行步骤S103中的爬虫识别,便于有效识别恶意爬虫。在识别恶意爬虫之后,将恶意爬虫的IP进行封禁,进而起到对Web服务进行保护的作用。
根据本发明实施例,在网页访问请求的返回页面中插入浏览器可执行脚本,并在所述浏览器可执行脚本被执行时生成脚本执行记录,再根据网页访问记录和脚本执行记录进行爬虫识别。这样一来,能够利用爬虫不执行浏览器可执行脚本的特点对其进行简单、高效地识别,降低了误判可能性。进一步,通过对识别出来的恶意爬虫的IP进行封禁,能够起到对Web服务进行保护的作用。
图2是根据本发明另一个实施例的Web页面爬虫识别方法的主要步骤的示意图。本发明实施例所提供的Web页面爬虫识别方法一般由服务器执行。如图2所示,本发明实施例的Web页面爬虫识别方法主要包括以下步骤:
步骤S201、在接收到网页访问请求时,随机生成浏览器可执行脚本。
在该步骤中,正常用户或爬虫软件向服务器发送网页访问请求。服务器在接收所述网页访问请求之后,生成网页访问记录,并随机生成一段浏览器可执行脚本(比如Javascript脚本)。其中,随机生成的所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。其中,所述指定请求为接口请求或图片请求。在具体实施时,可根据如下方法随机生成一段浏览器可执行脚本:
应该理解,在不影响本发明实施的情况下,本领域技术人员还可采取其他随机生成浏览器可执行脚本的方法。例如,还可通过程序随机生成接口地址,以及随机生成接口地址对应的请求参数,等等。或者,在具体实施时,也可通过人工定时对所述浏览器可执行脚本进行更新。通过随机生成浏览器可执行脚本,或者定时更新浏览器可执行脚本,能够有效降低脚本中的接口被破解并遭受攻击的可能性,提高了爬虫识别方法的可靠性。
步骤S202、将浏览器可执行脚本插入对应所述网页访问请求的返回页面。例如,服务器将以下Javascript脚本插入对应所述网页访问请求的返回页面:
<script>$.get("im.php?t=1494420230.365&cs=5c5a297f729b83cb82f8f2a2cfc893b5");&lt;/script&gt;
在以上Javascript脚本中,“im.php”为接口地址,“t”为接收到网页访问请求的时间,“cs”为请求校验值。
步骤S203、在所述浏览器可执行脚本被执行时,对所述请求校验值进行合法性检查、并计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值。若所述请求校验值检查合法、且所述差值小于预设阈值,则进入步骤S204,否则,进入步骤S205。
具体来说,服务器先从接收到的指定请求中取出校验参数,并根据校验参数计算校验值。然后,服务器将计算得到的校验值与指定请求中携带的请求校验值进行比较。若两者相等,则认为所述请求校验值检查合法;否则,认为所述请求校验值不合法。另外,在本发明实施例中,所述预设阈值设为300秒。可理解的是,在不影响本发明实施的情况下,本领域技术人员可根据实际情况调整所述预设阈值的值。例如,可将所述预设阈值设为400秒。通过执行步骤S203,能有效防止伪造请求,进一步提高了爬虫识别方法的可靠性。
步骤S204、生成脚本执行记录。在本发明实施例中,所述脚本执行记录包括:请求来源IP、接收指定请求的时间、接收到指定请求的时间与接收到网页访问请求的时间的差值、校验参数。可理解的是,在不影响本发明实施的情况下,本领域技术人员可以对脚本执行记录中的内容进行改动。
步骤S205、不生成脚本执行记录。
步骤S206、根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。关于如何具体执行步骤S206可参考图1所示实施例中的步骤S103的相关内容,在此不再赘述。
根据本发明实施例,在接收到网页访问请求时,随机生成浏览器可执行脚本;在所述浏览器可执行脚本被执行时,先对请求进行校验,在确认所述请求为合法请求之后,再生成脚本执行记录。这样一来,能够有效降低脚本中的接口或图片地址被破解并遭受攻击的可能性,并有效防止伪造请求,进一步提高了爬虫识别方法的可靠性。
图3是根据本发明一个实施例的Web页面爬虫识别装置的主要模块的示意图。本发明实施例所提供的Web页面爬虫识别装置一般设置于服务器中。如图3所示,本发明实施例的Web页面爬虫识别装置300主要包括以下模块:脚本添加模块301、记录生成模块302、爬虫识别模块303。
脚本添加模块301,用于在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面。
具体来说,在服务器接收到正常用户或爬虫软件发送的网页访问请求之后,通过脚本添加模块301将一段浏览器可执行脚本(比如Javascript脚本)插入返回页面中。其中,所述浏览器可执行脚本包括:指定请求地址、请求参数。在一优选实施方式中,所述指定请求为图片请求或图片请求。通过将浏览器可执行脚本中的指定请求设置为图片请求,能够对浏览器可执行脚本起到一定的隐蔽效果。
记录生成模块302,用于在所述浏览器可执行脚本被执行时,生成脚本执行记录。其中,记录生成模块302生成的脚本执行记录包括:请求来源IP、接收指定请求的时间等信息。
通常来说,正常用户在接收到返回页面之后,会通过浏览器执行返回页面中的浏览器可执行脚本,即再次访问服务器。而爬虫软件一般不会返回页面中的执行浏览器可执行脚本,这是由于执行浏览器可执行脚本需要很大的计算量。基于这一特点,本发明的发明人在爬虫识别装置中设置了记录生成模块302。
爬虫识别模块303,用于根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。其中,所述脚本执行记录是通过记录生成模块302生成的,所述网页访问记录是服务器在接收到网页访问请求时生成的。通常,所述网页访问记录包括:请求来源IP、接收网页访问请求的时间、用户代理信息(USER_AGENT)、访问链接地址。
在一优选实施方式中,爬虫识别模块303进行爬虫识别,具体包括:爬虫识别模块303根据预设时间段内的网络访问记录中的用户代理信息排除正规搜索引擎的请求来源IP,再根据排除正规搜索引擎之后的所有请求来源IP,构建待识别的请求来源IP的集合。然后,爬虫识别模块303统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2;并且,爬虫识别模块303判断所述待识别的请求来源IP是否满足以下判断条件:或者且N2=0。其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。若所述待识别的请求来源IP满足上述判断条件,则将所述待识别的请求来源IP识别为爬虫的IP。否则,将所述待识别的用户来源IP识别为正常用户。
可理解的是,在不影响本发明实施的情况下,本领域技术人员可根据实际情况调整预设时间段的值、调整C的取值。比如,所述预设时间段也可设为5小时或者其他,C也可设为8或者其他。另外,在不影响本发明实施的情况下,本领域技术人员还可采取其他合理的判断条件。
根据本发明实施例,通过脚本添加模块在返回页面中插入浏览器可执行脚本,通过记录生成模块在所述浏览器可执行脚本被执行时生成脚本执行记录,再通过爬虫识别模块根据网页访问记录和脚本执行记录进行爬虫识别。这样一来,能够利用爬虫不执行浏览器可执行脚本的特点对其进行简单、高效地识别,降低了误判可能性。进一步,通过排除正规搜索引擎的爬虫软件,有利于恶意爬虫的识别、封禁,进而起到对Web服务进行保护的作用。
图4是根据本发明另一个实施例的Web页面爬虫识别装置的主要模块的示意图。如图4所示,本发明实施例的Web页面爬虫识别装置400主要包括以下模块:脚本生成模块401、脚本添加模块402、检查模块403、记录生成模块404、爬虫识别模块405。
脚本生成模块401,用于在接收到网页访问请求时,随机生成浏览器可执行脚本。其中,脚本生成模块401随机生成的所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。其中,所述指定请求为接口请求或图片请求。
此外,在具体实施时,也可通过人工定时对所述浏览器可执行脚本进行更新。通过脚本生成模块随机生成浏览器可执行脚本,或者通过人工更新浏览器可执行脚本,能够有效降低脚本中的接口被破解并遭受攻击的可能性,提高了爬虫识别装置的可靠性。
脚本添加模块402,用于将浏览器可执行脚本插入对应所述网页访问请求的返回页面。例如,脚本添加模块402可将如下可执行脚本插入返回页面:
<script>$.get("im.php?t=1494420230.365&cs=5c5a297f729b83cb82f8f2a2cfc893b5");&lt;/script&gt;
在以上脚本中,“im.php”为接口地址,“t”为接收到网页访问请求的时间,“cs”为请求校验值。
检查模块403,用于在所述浏览器可执行脚本被执行之后,对所述请求校验值进行合法性检查,计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值、并将所述差值与预设阈值进行比较。
具体来说,检查模块403先从接收到的指定请求中取出校验参数,并根据校验参数计算校验值。然后,检查模块403将计算得到的校验值与指定请求中携带的请求校验值进行比较。若两者相等,则认为所述请求校验值检查合法;否则,认为所述请求校验值不合法。另外,检查模块403还将计算得到的上述时间差值与预设阈值300秒进行比较。可理解的是,在不影响本发明实施的情况下,本领域技术人员可根据实际情况调整所述预设阈值的值。例如,可将所述预设阈值设为400秒。通过设置检查模块,能有效防止伪造请求,进一步提高了爬虫识别方法的可靠性。
记录生成模块404,用于在所述请求校验值检查合法、且所述差值小于预设阈值的情况下,生成脚本执行记录。在本发明实施例中,记录生成模块404生成的脚本执行记录包括:请求来源IP、接收指定请求的时间、接收到指定请求的时间与接收到网页访问请求的时间的差值、校验参数。可理解的是,在不影响本发明实施的情况下,本领域技术人员可以对脚本执行记录中的内容进行改动。
爬虫识别模块405,用于根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。关于爬虫识别模块405如何具体进行爬虫识别可参考图3所示实施例中的爬虫识别模块303的相关内容,在此不再赘述。
根据本发明实施例,通过设置脚本生成模块随机生成浏览器可执行脚本;通过设置检查模块对脚本请求进行校验,在确认脚本请求为合法请求之后,再生成脚本执行记录。这样一来,能够有效降低脚本中的接口或图片地址被破解并遭受攻击的可能性,并有效防止伪造请求,进一步提高了爬虫识别装置的可靠性。
图5示出了可以应用本发明实施例的Web页面爬虫识别方法或Web页面爬虫识别装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的Web服务器。
需要说明的是,本发明实施例所提供的Web页面爬虫识别方法一般由服务器505执行,相应地,Web页面爬虫识别装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
再一个方面,本发明实施例还提供了一种服务器。本发明实施例的服务器,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的Web页面爬虫识别方法。
图6示出了适于用来实现本发明实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图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执行时,执行本发明实施例的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括脚本添加模块、记录生成模块和爬虫识别模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,记录生成模块还可以被描述为“用于生成脚本执行记录的模块”。
另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;在所述浏览器可执行脚本被执行时,生成脚本执行记录;根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (18)

1.一种Web页面爬虫识别方法,其特征在于,所述方法包括:
在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;
在所述浏览器可执行脚本被执行时,生成脚本执行记录;
根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。
2.根据权利要求1所述的方法,其特征在于,根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,包括:
统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2
在所述待识别的请求来源IP满足:或者满足:且N2=0的情况下,将所述待识别的请求来源IP识别为爬虫的IP;
其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。
3.根据权利要求1所述的方法,其特征在于,所述网页访问记录包括:请求来源IP、接收网页访问请求的时间、用户代理信息;所述脚本执行记录包括:请求来源IP、接收指定请求的时间;
所述根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,还包括:根据用户代理信息排除正规搜索引擎的请求来源IP,以构建待识别的请求来源IP的集合。
4.根据权利要求1所述的方法,其特征在于,所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。
5.根据权利要求4所述的方法,其特征在于,所述指定请求为:接口请求或图片请求。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述浏览器可执行脚本被执行的步骤之后,对所述请求校验值进行合法性检查、并计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值;在所述请求校验值检查合法、且所述差值小于预设阈值的情况下,生成脚本执行记录。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定时对所述浏览器可执行脚本进行更新。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将浏览器可执行脚本插入对应所述网页访问请求的返回页面的步骤之前,先随机生成浏览器可执行脚本。
9.一种Web页面爬虫识别装置,其特征在于,所述装置包括:
脚本添加模块,用于在接收到网页访问请求时,将浏览器可执行脚本插入对应所述网页访问请求的返回页面;
记录生成模块,用于所述浏览器可执行脚本被执行时,生成脚本执行记录;
爬虫识别模块,用于根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别。
10.根据权利要求9所述的装置,其特征在于,所述爬虫识别模块根据预设时间段内的网页访问记录和脚本执行记录对待识别的请求来源IP进行爬虫识别,包括:
统计预设时间段内每个待识别的请求来源IP对应的网页访问记录条数N1、脚本执行记录条数N2
在所述待识别的请求来源IP满足:或者满足:且N2=0的情况下,将所述待识别的请求来源IP识别为爬虫的IP;
其中,n为待识别的请求来源IP的个数,N1(i)为第i个待识别的请求来源IP对应的网页访问记录条数,C为大于1的预设常数。
11.根据权利要求9所述的装置,其特征在于,所述网页访问记录包括:请求来源IP、接收网页访问请求的时间、用户代理信息;所述脚本执行记录包括:请求来源IP、接收指定请求的时间;
所述爬虫识别模块,还用于:根据用户代理信息排除正规搜索引擎的请求来源IP,构建待识别的请求来源IP的集合。
12.根据权利要求9所述的装置,其特征在于,所述浏览器可执行脚本包括:指定请求的地址、接收到网页访问请求的时间、请求校验值。
13.根据权利要求12所述的装置,其特征在于,所述指定请求为:接口请求或图片请求。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:检查模块;
检查模块,用于在所述浏览器可执行脚本被执行之后,对所述请求校验值进行合法性检查,计算接收到所述指定请求的时间与接收到网页访问请求的时间的差值、并将所述差值与预设阈值进行比较;
记录生成模块,用于在所述请求校验值检查合法、且所述差值小于预设阈值的情况下,生成脚本执行记录。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括:
脚本更新模块,用于定时对所述浏览器可执行脚本进行更新。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
脚本生成模块,用于随机生成所述浏览器可执行脚本。
17.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至8中任一所述的方法。
18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一所述的方法。
CN201710451203.6A 2017-06-15 2017-06-15 Web页面爬虫识别方法和装置 Active CN109150790B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710451203.6A CN109150790B (zh) 2017-06-15 2017-06-15 Web页面爬虫识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710451203.6A CN109150790B (zh) 2017-06-15 2017-06-15 Web页面爬虫识别方法和装置

Publications (2)

Publication Number Publication Date
CN109150790A true CN109150790A (zh) 2019-01-04
CN109150790B CN109150790B (zh) 2021-05-25

Family

ID=64829775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710451203.6A Active CN109150790B (zh) 2017-06-15 2017-06-15 Web页面爬虫识别方法和装置

Country Status (1)

Country Link
CN (1) CN109150790B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519280A (zh) * 2019-08-30 2019-11-29 北京思维造物信息科技股份有限公司 一种爬虫识别方法、装置、计算机设备及存储介质
CN112347326A (zh) * 2020-09-29 2021-02-09 武汉虹旭信息技术有限责任公司 基于浏览器端的爬虫检测方法及装置
CN112953958A (zh) * 2021-03-09 2021-06-11 拉扎斯网络科技(上海)有限公司 一种爬虫检测方法、装置及电子设备
CN113364753A (zh) * 2021-05-31 2021-09-07 平安国际智慧城市科技股份有限公司 反爬虫方法、装置、电子设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204575A1 (en) * 2008-02-07 2009-08-13 Christopher Olston Modular web crawling policies and metrics
CN102833212A (zh) * 2011-06-14 2012-12-19 阿里巴巴集团控股有限公司 网页访问者身份识别方法及系统
CN104601601A (zh) * 2015-02-25 2015-05-06 小米科技有限责任公司 网络爬虫的检测方法及装置
CN105187396A (zh) * 2015-08-11 2015-12-23 小米科技有限责任公司 识别网络爬虫的方法及装置
CN105426415A (zh) * 2015-10-30 2016-03-23 Tcl集团股份有限公司 网站访问请求的管理方法、装置及系统
CN105871845A (zh) * 2016-03-31 2016-08-17 深圳市深信服电子科技有限公司 Web漏洞扫描行为的检测方法及装置
CN106326419A (zh) * 2016-08-24 2017-01-11 腾讯科技(深圳)有限公司 网络自动机处理方法及装置
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204575A1 (en) * 2008-02-07 2009-08-13 Christopher Olston Modular web crawling policies and metrics
CN102833212A (zh) * 2011-06-14 2012-12-19 阿里巴巴集团控股有限公司 网页访问者身份识别方法及系统
CN104601601A (zh) * 2015-02-25 2015-05-06 小米科技有限责任公司 网络爬虫的检测方法及装置
CN105187396A (zh) * 2015-08-11 2015-12-23 小米科技有限责任公司 识别网络爬虫的方法及装置
CN105426415A (zh) * 2015-10-30 2016-03-23 Tcl集团股份有限公司 网站访问请求的管理方法、装置及系统
CN105871845A (zh) * 2016-03-31 2016-08-17 深圳市深信服电子科技有限公司 Web漏洞扫描行为的检测方法及装置
CN106326419A (zh) * 2016-08-24 2017-01-11 腾讯科技(深圳)有限公司 网络自动机处理方法及装置
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519280A (zh) * 2019-08-30 2019-11-29 北京思维造物信息科技股份有限公司 一种爬虫识别方法、装置、计算机设备及存储介质
CN110519280B (zh) * 2019-08-30 2022-01-04 北京思维造物信息科技股份有限公司 一种爬虫识别方法、装置、计算机设备及存储介质
CN112347326A (zh) * 2020-09-29 2021-02-09 武汉虹旭信息技术有限责任公司 基于浏览器端的爬虫检测方法及装置
CN112347326B (zh) * 2020-09-29 2022-07-15 武汉虹旭信息技术有限责任公司 基于浏览器端的爬虫检测方法及装置
CN112953958A (zh) * 2021-03-09 2021-06-11 拉扎斯网络科技(上海)有限公司 一种爬虫检测方法、装置及电子设备
CN113364753A (zh) * 2021-05-31 2021-09-07 平安国际智慧城市科技股份有限公司 反爬虫方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN109150790B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN104766014B (zh) 用于检测恶意网址的方法和系统
US10740411B2 (en) Determining repeat website users via browser uniqueness tracking
CN106030528B (zh) 数据代理服务
CN104253812B (zh) 委托用于web服务的认证
CN108476222A (zh) 钓鱼攻击的检测和减轻
CN109150790A (zh) Web页面爬虫识别方法和装置
CN105940409A (zh) 网络服务沙箱系统
US9781132B2 (en) Fraud prevention
CN102651856A (zh) 一种提高终端上网安全性的方法、系统和装置
CN110198248A (zh) 检测ip地址的方法和装置
CN109189857A (zh) 基于区块链的数据共享系统、方法和装置
Sonewar et al. A novel approach for detection of SQL injection and cross site scripting attacks
CN103617393A (zh) 一种基于支持向量机的移动互联网恶意应用软件检测方法
CN108154048B (zh) 资产信息处理方法和装置
Cassel et al. Omnicrawl: Comprehensive measurement of web tracking with real desktop and mobile browsers
RU2701040C1 (ru) Способ и вычислительное устройство для информирования о вредоносных веб-ресурсах
CN108694215A (zh) 网页缓存预热的方法、装置、电子设备和计算机可读介质
CN110297995A (zh) 用于收藏信息的方法和装置
CN109150965A (zh) 信息资源反屏蔽方法、装置、计算机设备及存储介质
CN107465693A (zh) 请求消息处理方法和装置
CN103067387A (zh) 一种反钓鱼监测系统和方法
CN110493239A (zh) 鉴权的方法和装置
CN108959642A (zh) 用于写入信息的方法和装置
US8713645B2 (en) Authentication for social networking messages
CN110399459A (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
GR01 Patent grant
GR01 Patent grant