掌桥专利:专业的专利平台
掌桥专利
首页

网页处理方法、装置、设备和介质

文献发布时间:2023-06-19 19:20:08


网页处理方法、装置、设备和介质

技术领域

本发明涉及互联网技术领域,具体而言,涉及一种网页处理方法、装置、设备和介质。

背景技术

现今,已进入了信息时代,大到国家、小到公司甚至个人,信息都是不可或缺的关键资源。随着计算机技术和网络技术的不断发展,网络逐渐成为信息传递的主要载体。外部网站因需要被公众访问而暴露于因特网上,容易成为黑客的攻击目标,容易被黑客恶意篡改,识别网页是否安全越来越重要。

发明内容

本发明的目的之一包括,例如,提供了一种网页处理方法、装置、设备和介质,以便捷地实现网页识别处理,确保网页安全性。

本发明的实施例可以这样实现:

第一方面,本发明提供一种网页处理方法,包括:

获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值;

获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值;

基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化。

在可选的实施方式中,所述基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化,包括:

确定所述目标网页初始状态的MD5值和当前状态的MD5值是否一致;

若不一致,计算所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况;

根据所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况,计算得到所述目标网页当前状态相较于初始状态的总体变化比率;

基于所述总体变化比率确定所述目标网页当前状态相较于初始状态是否发生变化。

在可选的实施方式中,所述计算所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况,包括:

在确定网页内容发生变化的情况下,将所述目标网页当前状态的网页内容与初始状态的网页内容进行循环比对,查找出网页内容中发生变化的字符,根据发生变化的字符数与网页内容中总的字符数,计算得到所述目标网页初始状态和当前状态的网页内容变化比率;

在确定DOM结构发生变化的情况下,按照所述目标网页的网页标签格式,遍历所述目标网页的DOM结构,获得所述目标网页的层级结构,将所述目标网页当前状态的网页节点与初始状态的网页节点进行比对,查找出所述层级结构中发生变化的网页节点,根据所述层级结构中发生变化的网页节点数和总的网页节点数,计算得到所述目标网页初始状态和当前状态的网页结构变化比率;

在确定网页静态资源发生变化的情况下,将所述目标网页当前状态的网页静态资源与初始状态的网页静态资源进行比对,查找出发生变化的网页静态资源数,根据所述目标网页中发生变化的网页静态资源数和总的网页静态资源数,计算得到所述目标网页初始状态和当前状态的网页静态资源变化比率。

在可选的实施方式中,所述根据所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况,计算得到所述目标网页当前状态相较于初始状态的总体变化比率,包括:

将所述网页内容变化比率与第一权重相乘,得到网页内容变化值;

将所述网页结构变化比率与第二权重相乘,得到网页结构变化值;

将所述网页静态资源变化比率与第三权重相乘,得到网页静态资源变化值;

基于所述网页内容变化值、网页结构变化值和网页静态资源变化值,计算得到总体变化比率。

在可选的实施方式中,所述方法还包括:

确定所述总体变化比率是否达到设定阈值;

若是,判定所述目标网页被篡改。

在可选的实施方式中,所述获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值,包括:

基于正则表达式,获取所述目标网页初始状态的DOM结构,并计算所述DOM结构的MD5值;

基于正则动态元素匹配,根据网页属性标签获取所述目标网页初始状态的网页内容,并计算所述网页内容的MD5值;

通过XPath匹配获取到所述目标网页初始状态的网页静态资源地址,通过请求网页静态资源地址获取到所述目标网页的网页静态资源,并计算所述网页静态资源的MD5值;

所述获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值,包括:

基于正则表达式,获取所述目标网页当前状态的DOM结构,并计算所述DOM结构的MD5值;

基于正则动态元素匹配,根据网页属性标签获取所述目标网页当前状态的网页内容,并计算所述网页内容的MD5值;

通过XPath匹配获取到所述目标网页当前状态的网页静态资源地址,通过请求网页静态资源地址获取到所述目标网页的网页静态资源,并计算所述网页静态资源的MD5值。

在可选的实施方式中,所述确定所述目标网页初始状态的MD5值和当前状态的MD5值是否一致,包括:

确定所述目标网页初始状态的网页内容的MD5值是否与目标网页当前状态的网页内容的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在网页内容的变化情况的步骤;

确定所述目标网页初始状态的DOM结构的MD5值是否与目标网页当前状态的DOM结构的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在DOM结构的变化情况的步骤;

确定所述目标网页初始状态的网页静态资源的MD5值是否与目标网页当前状态的网页静态资源的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在网页静态资源的变化情况的步骤。

第二方面,本发明实施例提供一种网页处理装置,包括:

信息获得模块,用于获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值;获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值;

信息处理模块,用于基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化。

第三方面,本发明提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施方式任一项所述的网页处理方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行前述实施方式任一项所述的网页处理方法。

本发明实施例的有益效果包括,例如:通过先计算网页的MD5值,根据MD5值确定网页是否发生变化,有效改善了因刚开始就进行完整结构比对的处理复杂性,大大节约了网页变化确认的时间,提高了网页识别处理的便捷性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的一种应用场景示意图。

图2示出了本发明实施例提供的一种网页处理方法的流程示意图。

图3示出了本发明实施例提供的一种网页处理方法的另一流程示意图。

图4示出了本发明实施例提供的一种网页处理装置的示例性结构框图。

图标:100-电子设备;110-存储器;120-处理器;130-通信模块;140-网页处理装置;141-信息获得模块;142-信息处理模块。

具体实施方式

现今,为了确定网页是否被篡改,常用方式为直接针对不同时刻的网页进行完整结构对比,实现较为复杂,用时较长,处理较为不便。

基于上述研究,本发明实施例提供一种网页处理方案,先计算网页不同时刻的MD5值,根据MD5值确定网页是否发生变化,从而节省了刚开始就上来进行完整结构比对所造成的资源浪费,减少网页处理的复杂性,节约了网页处理的时间,提高了网页处理的便捷性。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中做出的贡献。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。

请参照图1,是本实施例提供的一种电子设备100的方框示意图,本实施例中的电子设备100可以为能够进行数据交互、处理的服务器、处理设备、处理平台等,如可以为网页服务器。所述电子设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。

处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。

通信模块130用于通过所述网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。

应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请结合参阅图2,为本发明实施例提供的一种网页处理方法的流程示意图,可以由图1所述电子设备100执行,例如可以由电子设备100中的处理器120执行。该网页处理方法包括S110、S120和S130。

S110,获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值。

S120,获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值。

S130,基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化。

通过先计算并比对目标网页在不同状态(不同时刻)的MD5值,确定网页是否发生变化,在未发生变化的情况下,无需进行后续完整结构比对,仅需在确定网页发生变化的情况下,再进行网页比对,从而减少了数据处理量,提高了网页处理的便捷性。

S110中,获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值可以通过以下方式得到:基于正则表达式,获取所述目标网页初始状态的DOM结构,并计算所述DOM结构的MD5值。基于正则动态元素匹配,根据网页属性标签获取所述目标网页初始状态的网页内容,并计算所述网页内容的MD5值。通过XPath匹配获取到所述目标网页初始状态的网页静态资源地址,通过请求网页静态资源地址获取到所述目标网页的网页静态资源,并计算所述网页静态资源的MD5值。

其中,正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

示例性地,目标网页初始状态为原始目标网页的情况下,可以基于正则动态元素匹配获取目标网页初始状态DOM结构的文本内容,为了提升内容获取的质量和效率,可以基于网页属性标签进行内容的获取,如指定的name值、value属性等。

其中,正则表达式包括多种,例如:

可以包括【"name=\'csrfmiddlewaretoken\'value=\'(.*?)\'"、"([0-1]?[0-9]|[2][0-3]):([0-5][0-9])[.|:]([0-9][0-9])"、"time\s*[:]\s*\d+\.?\d*"、"sess(ion|ionid|id)?\s*=\s*['\"]?[a-fA-F0-9]+['\"]?"、"value\s*=\s*['\"]?[a-zA-Z0-9_\.\-]+['\"]?"、"]+>"】。提取到网页内容之后计算MD5值进行保存。

基于正则获取到目标网页初始状态的DOM结构,正则表达式可以包括<[^>]+>。进而计算网页结构的MD5值进行保存。

通过XPath【"//img/@src|//link/@href|//script/@src"】匹配获取到目标网页初始状态的静态资源地址,通过请求静态资源地址获取到对应的静态资源。计算得到每个静态资源的MD5值进行保存。

S120中,获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值可以通过以下方式得到:基于正则表达式,获取所述目标网页当前状态的DOM结构,并计算所述DOM结构的MD5值。基于正则动态元素匹配,根据网页属性标签获取所述目标网页当前状态的网页内容,并计算所述网页内容的MD5值。通过XPath匹配获取到所述目标网页当前状态的网页静态资源地址,通过请求网页静态资源地址获取到所述目标网页的网页静态资源,并计算所述网页静态资源的MD5值。

其中,S120中获取所述目标网页当前状态的MD5值的实现方式可以参阅S110中获取所述目标网页初始状态的MD5值的实现方式,在此不做赘述。

在基于S110和S120分别得到目标网页当前状态和初始状态的MD5值的基础上,通过对MD5值的对比,便可确定目标网页是否发生变化。

S130中,基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化可以通过以下步骤实现:确定所述目标网页初始状态的MD5值和当前状态的MD5值是否一致,若不一致,计算所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况。根据所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况,计算得到所述目标网页当前状态相较于初始状态的总体变化比率。基于所述总体变化比率确定所述目标网页当前状态相较于初始状态是否发生变化。

其中,在得到目标网页初始状态和当前状态的DOM结构、网页内容和网页静态资源分别对应的MD5值的情况下,可以针对目标网页初始状态和当前状态的DOM结构对应的MD5值、网页内容对应的MD5值和网页静态资源对应的MD5值分别进行比对,基于比对结果,便可确定目标网页两种状态下是否发生变化,以及存在变化时,具体为哪部分发生变化。

示例性地,可以通过以下方式确定所述目标网页初始状态的MD5值和当前状态的MD5值是否一致:确定所述目标网页初始状态的网页内容的MD5值是否与目标网页当前状态的网页内容的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在网页内容的变化情况的步骤。

确定所述目标网页初始状态的DOM结构的MD5值是否与目标网页当前状态的DOM结构的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在DOM结构的变化情况的步骤。

确定所述目标网页初始状态的网页静态资源的MD5值是否与目标网页当前状态的网页静态资源的MD5值一致,若否,则执行计算所述目标网页初始状态和当前状态在网页静态资源的变化情况的步骤。

相应地,S130中,计算所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况可以通过以下方式实现:

在确定网页内容发生变化的情况下,将所述目标网页当前状态的网页内容与初始状态的网页内容进行循环比对,查找出网页内容中发生变化的字符,根据发生变化的字符数与网页内容中总的字符数,计算得到所述目标网页初始状态和当前状态的网页内容变化比率。

在确定DOM结构发生变化的情况下,按照所述目标网页的网页标签格式,遍历所述目标网页的DOM结构,获得所述目标网页的层级结构,将所述目标网页当前状态的网页节点与初始状态的网页节点进行比对,查找出所述层级结构中发生变化的网页节点,根据所述层级结构中发生变化的网页节点数和总的网页节点数,计算得到所述目标网页初始状态和当前状态的网页结构变化比率。

在确定网页静态资源发生变化的情况下,将所述目标网页当前状态的网页静态资源与初始状态的网页静态资源进行比对,查找出发生变化的网页静态资源数,根据所述目标网页中发生变化的网页静态资源数和总的网页静态资源数,计算得到所述目标网页初始状态和当前状态的网页静态资源变化比率。

本实施例中,在获得目标网页初始状态和当前状态网页内容变化比率、DOM结构变化比率和网页静态资源变化比率的基础上,可以通过设置权重,计算得到总体变化比率。

相应地,如图3所示,根据所述目标网页初始状态和当前状态在DOM结构、网页内容和网页静态资源中至少一项对应的变化情况,计算得到所述目标网页当前状态相较于初始状态的总体变化比率,可以基于S210、S220、S230和S240实现。

S210,将所述网页内容变化比率与第一权重相乘,得到网页内容变化值。

S220,将所述网页结构变化比率与第二权重相乘,得到网页结构变化值。

S230,将所述网页静态资源变化比率与第三权重相乘,得到网页静态资源变化值。

S240,基于所述网页内容变化值、网页结构变化值和网页静态资源变化值,计算得到总体变化比率。

通过确定所述总体变化比率是否达到设定阈值,便可确定网页是否被篡改。例如,若总体变化比率达到设定阈值,则判定所述目标网页被篡改。否则判定所述目标网页未被篡改。

示例性地,在分别计算出目标网页初始状态和当前状态的DOM结构、网页内容、网页静态资源分别对应的MD5值的情况下,比较当前状态的目标网页和初始状态的目标网页的DOM结构、网页内容、网页静态资源的MD5值是否相同,筛选出目标网页发生变化的部分(MD5值不一致的部分)。

若目标网页当前状态的网页内容的MD5值和目标网页初始状态的网页内容的MD5值不一致,则进行网页内容变化比率计算,将目标网页当前状态的网页内容和目标网页初始状态的网页内容进行循环比对,找出不同的字符,网页内容变化比率=变化的字符数/总的字符数量。

若目标网页当前状态的网页结构的MD5值和目标网页初始状态的网页结构的MD5值不一致,按照网页标签格式【<>,】遍历目标网页的DOM结构,获取到目标网页的网页结构层级结构,网页结构变化比率=变化的网页节点/总的网页节点数量。

类似地,若目标网页当前状态的网页静态资源的MD5值和目标网页初始状态的网页静态资源的MD5值不一致,则网页静态资源变化比率=不一致的静态资源数/总的静态资源数量。

计算目标网页当前状态相较于初始状态的总体变化比率,网页总体变化比率=网页内容变化比率*40%+网页结构变化比率*30%+网页静态资源变化比率*30%。

比较目标网页的总体变动比率是否达到指定的阈值,如果到达则认为目标网页发生了篡改。

为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种网页处理装置的实现方式。请参阅图4,图4为本发明实施例提供的一种网页处理装置140的功能模块图,该网页处理装置140可以应用于图1所示电子设备100。需要说明的是,本实施例所提供的网页处理装置140,其基本原理及产生的技术效果和上述方法实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的方法实施例中相应内容。该网页处理装置140包括信息获得模块141和信息处理模块142。

其中,信息获得模块141用于获取目标网页初始状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页初始状态的MD5值;获取所述目标网页当前状态的DOM结构、网页内容和网页静态资源,并计算得到所述目标网页当前状态的MD5值。

信息处理模块142用于基于所述目标网页初始状态的MD5值和当前状态的MD5值,确定所述目标网页是否发生变化。

在上述基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行上述的网页处理方法。

采用本发明实施例中的上述方案,可以根据网页的组成部分的不同属性计算不同属性对应部分的MD5值,根据变化的属性部分计算不同部分的变化比率,再计算网页整体变化率,如果网页变化率达到指定上限,则认为网页被篡改。通过先计算网页属性的MD5值,再在变化的部分中计算变化的比率,节省了刚开始就进行完整结构比对的复杂性,大大节约了网页篡改对比比率计算的时间。通过灵活设置变化率的阈值,从而确保没有达到变化率阈值的改动不算网页篡改,相较于现有的网页篡改逐行匹配技术或者其他匹配模式而言,减少了匹配模式所需处理数据量,提升了检测的效率和准确性,实现较为边界。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115869865