基于组合式网络爬虫防御技术的页面显示方法、装置和电子设备与流程

文档序号:20917278发布日期:2020-05-29 13:41阅读:188来源:国知局
基于组合式网络爬虫防御技术的页面显示方法、装置和电子设备与流程
本发明涉及计算机信息处理领域,具体而言,涉及一种基于组合式网络爬虫防御技术的页面显示方法、装置、电子设备及计算机可读介质。
背景技术
:随着互联网技术不断深入人类生活、生产的各个方面,互联网已成为人类信息创造及存储的最大载体。近年来,大数据技术的进步加强了对海量数据处理应用的能力,数据愈发成为宝贵的资源。网络爬虫是一种按照一定的规则自动抓取互联网资源的程序或者脚本,已被广泛应用于互联网领域。搜索引擎使用网络爬虫抓取web网页、文档甚至图片、音频、视频等资源,通过相应的索引技术组织这些信息,提供给搜索用户进行查询。由于网络爬虫的策略是尽可能多的抓取网站中的高价值信息,会根据特定策略尽可能多的访问页面,占用网络带宽并增加web服务器的处理开销,会导致正常用户网络带宽不足从而影响使用体验。恶意用户可以利用爬虫程序对web站点发动dos攻击,使web服务在大量爬虫程序的暴力访问下,资源耗尽而不能提供正常服务。此外,恶意用户还可能通过网络爬虫抓取各种敏感资料用于不正当用途。因此,如何对网络爬虫进行有效的防御已成为互联网安全亟需解决的关键性问题。现有技术中,通过验证码、网页加密等手段可对网络爬虫程序进行初步防范。随着人工智能水平的提高,现有防御手段已不能有效的防止网络爬虫对网页数据的抓取,因此需要一种立体组合式网络爬虫防御方法。技术实现要素:本发明的目的在于,提供一种基于组合式网络爬虫防御技术的页面显示方法、装置和电子设备,旨在通过多角度多层次,主动被动相结合的防御措施,提高对恶意抓取网页内容的网络爬虫的识别,从而保障用户隐私和对网站的正常使用。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。为实现上述目的,本发明一方面提供一种基于组合式网络爬虫防御技术的页面显示方法,包括:建立网络地址黑名单池,并构建请求识别规则;网站服务器获取用户通过客户端浏览器提出访问请求信息;所述网站服务器基于所述访问请求信息利用所述网络地址黑名单池及所述请求识别规则对所述用户进行网络爬虫初步筛选;所述网站服务器根据初步筛选通过的用户的访问请求信息生成页面内容,且使用加密规则对所述页面内容中待加密内容进行加密,并依据所述加密规则构建解密规则插入至所述页面内容中;所述用户的客户端浏览器从所述网站服务器获取加密后的页面内容及解密规则,依据所述解密规则对所述页面内容进行解密并根据所述页面内容渲染生成页面进行显示。根据本发明的一种优选实施方式,所述访问请求信息包括:所述用户网络地址信息、所述用户访问请求内容信息及所述用户访问请求命令。根据本发明的一种优选实施方式,所述构建识别规则步骤包括:构建访问请求命令类型排除池,获取访问请求命令类型,比较所述访问请求命令类型是否与所述访问请求命令类型排除池,将比较结果为一致的用户识别为网络爬虫。根据本发明的一个优选实施方式,所述网站服务器基于所述访问请求信息利用所述网络地址黑名单池及所述请求识别规则对所述用户进行网络爬虫初步筛选步骤还包括:所述网站服务器获取所述用户的访问请求信息中所述用户网络地址信息及访问请求命令,比较所述用户的网络地址信息是否在所述网络地址黑名单池中,以及使用所述请求识别规则识别所述用户请求,将符合所述网络地址黑名单池和/或所述请求识别规则的用户识别为网络爬虫予以排除。根据本发明的一个优选实施方式,还包括所述加密规则包括一种加密算法或多种加密算法的组合,其中所述多种加密算法的组合包括使用相同或不同的加密算法对所述待加密内容进行多重加密,在先加密后生成的内容作为在后加密算法的加密对象。根据本发明的一个优选实施方式,所述网站服务器根据加密规则对页面内容中待加密内容进行加密后进一步包括:批量抓取工具抓取所述页面内容为加密后数据。根据本发明的一个优选实施方式,所述解密规则进一步包括:对应于所述加密规则中所述加密算法或所述加密算法组合的解密算法或解密算法的组合。根据本发明的一个优选实施方式,所述加密算法包括单字母替换加密算法、多字母替换加密算法、字体加密算法、栅栏密码加密算法、进制转换密码加密算法等。本发明的第二方面提供了一种基于组合式网络爬虫防御技术的页面显示装置,包括:网络爬虫初步筛选模块,其构建于网站服务器上,包括网络地址黑名单池单元和访问请求识别规则单元,用于对用户进行网络爬虫初步筛查;内容提供模块,位于所述网站服务器上,用于根据用户请求提供网页内容;加密解密模块,位于所述网站服务器上,用于对所述网页内容中待加密内容通过加密规则进行加密,并依据所述加密规则构建解密规则插入至网页内容中;网页浏览器,位于客户端,用于向所述网站服务器提出访问请求信息并获取所述网站服务器提供的加密后的网页内容及解密规则,依据所述解密规则对所述加密后的网页内容进行解密并根据解密后的页面内容渲染生成页面进行显示。根据本发明的一种优选实施方式,所述网页浏览器向所述网站服务器提出的所述访问请求信息进一步包括所述用户的网络地址信息、所述用户访问请求内容信息及所述用户访问请求命令。根据本发明的一种优选实施方式,所述访问请求识别规则单元进一步包括:访问请求命令类型排除池,其中包括至少一种请求命令类型,命令类型提取组件,用于从所述访问请求信息种提取所述用户访问请求命令类型,比较识别组件,用于比较提取的命令类型与所述访问请求命令类型排除池中请求命令类型是否一致,将比较结果一致的用户识别为网络爬虫。根据本发明的一种优选实施方式,还包括:所述网站服务器获取所述用户的访问信息中所述用户网络地址信息及访问请求命令,所述网络地址黑名单池单元比较所述用户网络地址信息是否存在于所述黑名单池中,所述访问请求识别规则单元识别所述访问请求命令,网站服务器将所述网络地址黑名单池单元和/或所述访问请求识别规则单元筛选出的用户识别为网络爬虫予以排除。根据本发明的一种优选实施方式,还包括:所述加密规则包括一种加密算法或多种加密算法的组合,其中所述多种加密算法的组合包括使用相同或不同的加密算法对所述待加密内容进行多重加密,在先加密后生成的内容作为在后加密算法的加密对象。根据本发明的一种优选实施方式,所述网站服务器上利用所述加密解密模块用于对所述网页内容中待加密内容通过加密规则进行加密后进一步包括:批量抓取工具抓取所述页面内容为加密后数据。根据本发明的一种优选实施方式,所述解密规则进一步包括:对应于所述加密规则中所述加密算法或所述加密算法组合的解密算法或解密算法组合。根据本发明的一种优选实施方式,所述加密算法包括单字母替换加密算法、多字母替换加密算法、字体加密算法、栅栏密码加密算法、进制转换密码加密算法等。本发明的第三方面提供一种电子设备,其中,该电子设备包括:处理器;以及,存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述的基于组合式网络爬虫防御技术的页面显示方法。本发明的第四方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述的基于组合式网络爬虫防御技术的页面显示方法。附图说明为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明本发明示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。图1是现有技术中客户端浏览器获取数据并展示的主要框架图。图2是根据一示例性实施例示出的一种基于组合式网络爬虫防御技术的页面显示方法的主要流程示意图。图3是网络爬虫初步筛查规则的基本模块图。图4是根据一示例性实施例示出的加密及解密方法的主要步骤流程图。图5为根据一示例性实施例示出的一种基于组合式网络爬虫防御技术的页面显示装置的结构图。图6是本发明的基于模拟服务端响应的客户端测试的电子设备结构框架示意图。图7是根据本发明实施例的计算机可读介质的示意图。具体实施方式现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但这不应受这些定语限制。这些定语乃是用以区分一者与另一者。例如,第一器件亦可称为第二器件而不偏离本发明实质的技术方案。术语“和/或”或者“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。图1是现有技术中客户端浏览器获取数据并展示的主要框架图。如图1,在现有技术中,互联网各网络设备之间,如客户端与服务器间的通信都遵循tcp/ip协议,利用tcp/ip协议族进行网络通信时,会通过分层顺序与对方进行通信。分层由高到低分别为:应用层、传输层、网络层、数据链路层。发送端从应用层往下运行,接收端从数据链路层网上运行。客户端发送请求阶段用户在客户端的浏览器中输入或选择统一资源定位符(url),应用层dns解析域名。客户端发送http请求,http请求包括请求行、请求头和请求体三部分,其中请求行具体可包括请求方法、url字段和http协议版本,请求头包括产生请求的浏览器类型、主机地址、客户端可识别的内容类型列表,请求体可以包含客户提交的查询字符串信息等。传输层tcp传输报文,位于传输层的tcp协议为传输报文提供字节流服务,将大块的数据分割成以报文段为单位的数据包进行管理,并为其编号,方便服务器接收时能准确地还原报文信息。网络层ip协议查询mac地址,ip协议的作用是把tcp分割好的各种数据包传送给接收方。当找到接收方mac地址后,将数据发送到数据链路层传输。服务器响应阶段接收端的服务器在链路层接收到数据包,再向上直到应用层,在这个过程中包括在运输层通过tcp协议将分段的数据包重新组成原来的http请求报文。服务器接收到客户端发送的http请求后,查找客户端请求的资源,并返回响应报文。响应报文中包含状态码,状态码由三位数字组成,其中比较常见的是:200ok表示请求成功;301表示永久重定向,即请求的资源已经永久转移到新的位置,在返回301状态码的同时,响应报文也会附带重定向的url,客户端接收到后将http请求的url做相应的改变再重新发送;404notfound表示客户端请求的资源找不到。请求成功后,服务器会返回相应的html文件,以供客户端进行页面渲染并展示。通过上述描述可知,现有技术中客户端页面展示的基本步骤可包括客户端根据用户操作通过网络通信协议向服务器提出访问请求,服务器接收请求并根据请求查询并返回相应内容。客户端接收到相应内容后进行页面渲染及展示。本方法不仅适用于pc端网页展示,同样也适用于移动客户端浏览器或应用(app)的展示。图2是根据一示例性实施例示出的一种基于组合式网络爬虫防御技术的页面显示方法的主要流程示意图。基于组合式网络爬虫防御技术的页面显示方法至少包括s201-s205五个步骤。s201建立网络爬虫初步筛查规则在服务器构建网络爬虫初步筛查规则,用于对提出请求的用户进行爬虫类初步筛查。图3是网络爬虫初步筛查规则的基本模块图。如图3,构建的网络爬虫初步筛查规则300至少包括3方面的筛查,分别是网络地址筛查3001、用户行为筛查3002以及请求识别规则筛查3003。网络地址筛查3001,构建网络地址黑名单池,其中存储为基于历史数据、大数据筛查以及机器学习模型判断确定为网络爬虫来源的网络地址。当接收到用户访问请求时,核对用户的网络地址以排除确定为网络爬虫的用户。用户行为筛查3002,包括基于用户异常行为的筛查规则,具体可包括异常请求频率、异常敏感操作等。当用户在短时间内发起非正常的大量访问请求或进行大量敏感操作时,可以初步判断为机器行为,从而识别为网络爬虫。更进一步的,所述用户行为筛查可以进一步通过机器学习模型来判断筛查。获取已经被判定为网络爬虫的历史用户特征信息数据、特别是其行为特征数据作为训练数据,通过机器学习的方法构建基于用户行为特征的网络爬虫识别模型。当有用户发起请求时,获取该用户的特征数据,利用所述网络爬虫识别模型对该用户进行预判,以确定其为真实用户还是网络爬虫。上述机器学习方法采用本领域常用方法即可,在此不一一赘述。请求识别规则筛查3003,通过对用户请求的具体内容进行采取一定规则的识别以预测当前用户是否为网络爬虫。具体而言,如上文所述,用户通过浏览器向服务器发出访问请求时具体会发送http请求。通常网络爬虫程序是基于requsets框架、scrapy框架等框架进行编译,因此其请求中包含较为大量的request、scrapy等字段。针对这一特点,请求识别规则筛查3003可以通过对用户发来的请求头中有关字段的识别,以判断当前用户为网络爬虫的可能性。s202浏览器提出访问请求信息步骤如上文对图1描述,用户使用客户端工具,具体可包括pc端浏览器、移动端浏览器或移动端基于html开发的各类应用,向服务器提出访问请求。所述访问请求可包括请求行、请求头和请求体三部分,其中请求行具体可包括请求方法、url字段和http协议版本,请求头包括产生请求的浏览器类型、主机地址、客户端可识别的内容类型列表,请求体可以包含客户提交的查询字符串信息等。所述请求通过网络被服务器所接收。s203网络爬虫初步筛查步骤服务器接收到由客户端浏览器发送来的http请求报文。服务器还原并读取所述http请求报文,从所述http请求报文的请求头中获取客户端的网络地址及编译的相关命令类型信息,并实时统计监控所述用户客户端的操作行为。利用s201步骤构建的网络爬虫初步筛查规则对当前用户进行筛查,具体可包括:比对当前用户的网络地址是否处于网络地址黑名单池中:若处于,则判定当前用户为网络爬虫予以拦截或屏蔽;若不处于,则进行其他方式的筛查。提取当前用户的http请求信息中是否包含较多的爬虫框架主要字段,如scrapy、request字段等:如包含,则初步判定当前用户为网络爬虫;若不包含,则进行其他方式筛查。判断当前用户的行为是否符合用户行为筛查中网络爬虫的行为特征,或将当前用户行为特征代入网络爬虫识别模型,以此判断当前用户为网络爬虫的概率,进而采取相应行动。s204页面内容生成及加密步骤对于通过网络爬虫初步筛查的用户的访问请求,服务器基于其具体请求信息查询并生成相关页面内容,并识别所述内容是否需要加密。对于需要加密的内容,服务器使用加密规则对其加密。所述加密规则包括一种或多种加密算法的组合。当为多种加密算法组合时,可使用相同或不同的加密算法对所述待加密内容进行多重加密,在先加密后生成的内容作为在后加密算法的加密对象。所述加密算法包括单字母替换加密算法、多字母替换加密算法、字体加密算法、栅栏密码加密算法、进制转换密码加密算法等。对应于加密规则,服务器构建相应的解密规则并将其插入待发送给用户的网页内容中。s205浏览器获取及解密显示步骤用户的客户端浏览器从服务器获取加密后的页面内容及解密规则,使用相应的解密规则获取页面内容并渲染生成具体页面用以显示。下面对s204及s205加密及解密显示步骤进行具体描述。图4是根据一示例性实施例示出的加密及解密方法的主要步骤流程图。如图4,在步骤s401中服务器根据用户请求查询并获取相关网页内容。服务器对所述网页内容进行加密内容识别,以判断是需要全部加密或者抽取其中部分内容加密。在一个优选实施方式中,全文加密所占用资源较多,且会导致解密时间过长,影响用户体验,可以选择对其中仅涉及商业敏感信息、用户隐私信息等部分敏感数据进行加密。当对其中部分内容进行加密时,可通过预定义隐私字段,自动比对获取字段内容以确定需加密内容;也可以通过预先训练的机器学习模型自动识别相关内容的敏感性,以确定需加密内容。在s402步骤中,服务器别设置可随机制定加密规则。所述加密规则可包括:使用某一种加密算法对需加密内容进行加密,或使用多个加密算法的组合对需加密内容进行加密。其中,多个加密算法的组合可使用相同或不同的加密算法对所述待加密内容进行多重加密,在先加密后生成的内容作为在后加密算法的加密对象。所述加密算法包括单字母替换加密算法、多字母替换加密算法、字体加密算法、栅栏密码加密算法、进制转换密码加密算法等。在s403步骤中,服务器利用s402步骤制定的加密规则对s401步骤中识别出的需加密内容进行加密。进一步的,在加密之前对相关数据进行格式记录及转换。在一个示范性例子中,网购平台需要对商品类别及价格做加密,首先提取商品名称及价格,假设为fanz,200元。服务器随机制定加密规则,如进制转化加密算法及凯撒转移加密算法。服务器首先对“fanz”、“200”做编码检查,已确定加密算法的应用对象为相同的编码格式。这里的编码格式可以统一为ascii码、unicode码、utf-8码等国际标准编码,优选的为utf-8。首先,对“fanz”、“200”做进制转化加密,使用进制转化加密算法加密后显示为16进制的“61eba”、“c8”;其次,对加密后的信息“61eba”、“c8”使用凯撒转移加密算法进行加密,可随机构建凯撒转移加密的明密码表,如下表所述。明文abcdefghijklmnopqr密文deighf1kumnopqrstl明文stu9wxyz1234567890密文vwxyzj2345678v0abc使用凯撒加密算法二次加密后,“fanz”、“200”被加密为“v4hed”、“ia”。同时,根据加密规则构建解密规则,可将加密后的“v4hed”、“ia”还原为“fanz”、“200”。在另一个示范性例子中,用户通过浏览器向服务器提出访问请求,网站服务器根据请求信息检索并提取敏感信息,确定需要对用户姓名“seigfried”进行反爬虫机密。服务器对当前请求随机生成加密规则,如维吉尼亚加密算法、栅栏加密算法及字体转化加密算法的组合。首先,服务器采用维吉尼亚加密算法对“seigfried”进行加密。随机生成秘钥“adm”,将待加密内容“seigfried”基于秘钥加密为“shugidihp”。其次,利用栅栏加密算法,随机选择每组加密字数,以3个字母为加密字数为例,生成加密后信息“sgihihudp”。最后,利用字体转移加密法,输入待加密明文,从字体文件里提取使用到的字符,然后随机生成映射表,将明文里的字符映射成其他文字,生成的字体文件就起到密码本的作用。同样,根据加密规则服务器生成相应的解密规则。用户每次通过浏览器向网站服务器发出访问请求时,就会随机生成新的加、解密规则,而每次请求生成的加、解密规则都不一样,保证了防御网络爬虫手段的随机性。在步骤s406中,网站服务器将解密规则插入到网页内容中。所述解密规则可以为任意常用的脚本语言,具体可包括javascript、vbscript、flash、c、c#或c++等脚本语言。解密规则可以随机插入到网页html源代码的任意合法位置,名称、格式及位置均可保留随机性。在步骤s407中,客户端浏览器获取加密后的网页内容及解密规则。在步骤s408中,客户端浏览器使用相应的脚本语言,根据解密规则将加密后的网页内容还原为加密前的网页内容。客户端浏览器还原得到html文档后,首先遍历文档节点生成dom树,dom树结构和html标签一一对应;其次,浏览器解析css文件并生成css规则树,在这个过程中,每个css文件文件都会被分析成stylesheet对象,每个对象都包括css规则,所述css规则对象包括对应的选择器和声明对象以及其他对象;第三,浏览器通过dom树和css规则树构建渲染树,先从dom树的根节点开始遍历每个可见节点,然后对每个可见节点找到适配的css样式规则并应用;第四浏览器进行渲染树布局,布局阶段从渲染树的更高节点开始遍历,通过样式信息确定每个节点对象在页面上的确切大小和位置;最后,浏览器进行渲染树绘制,在本阶段,浏览器遍历渲染树,调用渲染器的paint()方法在显示设备上显示其内容,本阶段是由浏览器的ui后端组件完成的。用户可以通过浏览器看到解密后的网页中的内容,该内容为正常显示的实际需求内容,不对用户的正常使用造成影响。当恶意网络爬虫程序抓取页面内容时,获得的为加密后的内容。网络爬虫在抓取页面中内容时会根据相应的加载规则来抓取网页中的部分内容,由于解密规则的插入位置具有较强的随机性,网络爬虫获取加密后的网页内容无法进行解密,只能获得加密后的新消息,无法实现真实信息获取的目的。此外,若网络爬虫能够获取解密规则,由于解密规则的设置有较大的随机性,网络爬虫程序获取加密后数据放入数据库而不会进行解密渲染,因此输出的还是加密后信息。在本发明中,通过多种网络爬虫防御方法的组合,对网页访问用户的身份筛查、行为识别,对页面中需要保护的内容进行加密,有效的防御了网络爬虫、恶意程序等对敏感信息的抓取,极大的提高了对隐私和敏感信息的保护程度,限制了恶意程序对流量的劫持,有效的提高了正常用户的使用体验。本领域技术人员可以理解,实现上述实施例的全部或部分步骤被实现为由计算机数据处理设备执行的程序(计算机程序)。在该计算机程序被执行时,可以实现本发明提供的上述方法。而且,所述的计算机程序可以存储于计算机可读存储介质中,该存储介质可以是磁盘、光盘、rom、ram等可读存储介质,也可以是多个存储介质组成的存储阵列,例如磁盘或磁带存储阵列。所述的存储介质不限于集中式存储,其也可以是分布式存储,例如基于云计算的云存储。下面描述本发明的装置实施例,该装置可以用于执行本发明的方法实施例。对于本发明装置实施例中描述的细节,应视为对于上述方法实施例的补充;对于在本发明装置实施例中未披露的细节,可以参照上述方法实施例来实现。图5为根据一示例性实施例示出的一种基于组合式网络爬虫防御技术的页面显示装置的结构图。如图5所示,一种基于组合式网络爬虫防御技术的页面显示装置可包括服务器51,用于基于用户请求生成网页显示内容;客户端50,其上具有浏览器501,用于接收服务器传输的网页显示内容,渲染并向用户显示。更具体的,浏览器501包括操作模块5011、信息模块5012、解密模块5013及渲染模块5014;服务器51包括网络爬虫初步筛选模块512、内容提供模块513和加密解密模块514。此外,客户端50和服务器51分别具有通信模块502、511,用户客户端与服务器之间信息的传输。操作模块5011用于接收用户对于浏览器的操作并形成相应的可供传输、读取和执行的请求命令。通信模块502将操作模块5011形成的命令通过网络发送至服务器51,服务器51通过通信模块511获取所述命令。服务器51获取所述请求命令后,利用网络爬虫初步筛选模块512对所述请求进行网络爬虫初步筛查。更具体的,网络爬虫初步筛查模块可包括网络地址筛查组件5121、用户行为筛查组件5122和请求识别规则筛查组件5123。网络地址筛查组件5121包括网络地址黑名单池单元,其中存储为基于历史数据、大数据筛查以及机器学习模型判断确定为网络爬虫来源的网络地址。当接收到用户访问请求时,核对用户的网络地址以排除确定为网络爬虫的用户。用户行为筛查组件5122包括基于用户异常行为的筛查规则,具体可包括异常请求频率、异常敏感操作等。当用户在短时间内发起非正常的大量访问请求或进行大量敏感操作时,可以初步判断为机器行为,从而识别为网络爬虫。更进一步的,所述用户行为筛查组件可以进一步为通过机器学习构建的筛查模型。获取已经被判定为网络爬虫的历史用户特征信息数据、特别是其行为特征数据作为训练数据,通过机器学习的方法构建基于用户行为特征的网络爬虫识别模型。当有用户发起请求时,获取该用户的特征数据,利用所述网络爬虫识别模型对该用户进行预判,以确定其为真实用户还是网络爬虫。请求识别规则筛查组件5123包括访问请求命令类型排除池,其中包括至少一种请求命令的关键词;命令关键词提取组件,用于从访问请求信息中提取关键词;比较识别组件,用于比较提取的关键词是否处于排除池中,并将比较结果一致的用户识别为网络爬虫。具体而言,用户通过浏览器向服务器发出访问请求时具体会发送http请求。通常网络爬虫程序是基于requsets框架、scrapy框架等框架进行编译,因此其请求中包含较为大量的request、scrapy等字段。针对这一特点,请求识别规则筛查组件5123可以通过对用户发来的请求头中有关字段的识别与比较,判断当前用户为网络爬虫的可能性。将通过网络爬虫初步筛查模块512筛查的用户访问请求信息发送至内容提供模块513,以检索生成用户所需的网页内容。加密解密模块514识别所述内容是否需要加密。对于需要加密的内容,加密解密模块514使用加密规则对其加密。所述加密规则包括一种或多种加密算法的组合。当为多种加密算法组合时,可使用相同或不同的加密算法对所述待加密内容进行多重加密,在先加密后生成的内容作为在后加密算法的加密对象。所述加密算法包括单字母替换加密算法、多字母替换加密算法、字体加密算法、栅栏密码加密算法、进制转换密码加密算法等。对应于加密规则,加密解密模块514构建相应的解密规则并将其插入待发送给用户的网页内容中。服务器51的通信模块将加密后的网页内容和解密规则发送至客户端50。客户端50的通信模块502接收所述加密后的网页内容和解密规则,并传递至浏览器501。浏览器501的解密模块5013根据解密规则将加密后的网页内容还原为加密前的网页内容,渲染模块5014基于解密后的网页内容渲染并通过显示设备将网页显示给用户。用户可以通过浏览器看到解密后的网页中的内容,该内容为正常显示的实际需求内容,不对用户的正常使用造成影响本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。图6是本发明的基于模拟服务端响应的客户端测试的电子设备结构框架示意图。下面参照图6来描述根据本发明该实施例的的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图4所示的步骤。所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法。所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如java、c++等,还包括常规的过程式程序设计语言-诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1