一种基于前端代理的页面静态资源管理系统及方法与流程

文档序号:24641479发布日期:2021-04-09 20:54阅读:72来源:国知局
一种基于前端代理的页面静态资源管理系统及方法与流程

本发明涉及页面静态资源管理领域,更具体地,涉及一种基于前端代理的页面静态资源管理系统及方法。



背景技术:

在测试基于网页技术的应用中,当打开web页面时,需要加载大量静态资源,如js文件、css文件、图片等。这些静态资源部分是放在应用服务器上,部分是通过第三方服务器获取,如cdn。网络环境具有多样性,有些时候在加载静态资源时,由于网络的原因导致静态资源加载缓慢,甚至加载失败,使得页面应用无法正确显示或提供功能,从而影响测试的进度。还有,在某些情况下,web应用依赖的第三方静态资源会隐形加载其它的静态资源,通过应用后台监控无法发现这种情况,存在一定的安全隐患。

本发明通过在前端设置代理服务,抓取浏览器发送的数据包,对静态资源的加载进行监控、记录,并根据设置进行资源路径的重定向;设置白名单、黑名单,对非法或未知的静态资源加载提供阻止或告警,从而保证测试的快速、顺利的进行,并提高应用的安全性,防止恶意资源的加载。



技术实现要素:

为了解决背景技术中web页面静态资源加载缓慢且存在安全隐患的问题,本发明提供了一种基于前端代理的页面静态资源管理系统,所述系统包括:

信息交互单元,所述信息交互单元一端与节点管理单元相连接;所述信息交互单元用于接收用户发送的用户指令,加载配置文件获取配置指令,并将所述用户指令及配置指令发送至节点管理单元;

数据解析单元,所述数据解析单元一端与数据处理单元相连接;所述数据解析单元用于接收并解析浏览器数据包以及服务器数据包,将解析后的浏览器数据包及解析后的服务器数据包发送至所述数据处理单元;

数据处理单元,所述数据处理单元用于过滤、资源重定向所述解析后的浏览器数据包得到预处理浏览器数据包,并将所述预处理浏览器数据包发送至服务器;所述数据处理单元还用于对所述解析后的服务器数据包进行过滤、黑白名单比对得到预处理服务器数据包,将所述预处理服务器数据包发送至浏览器,并根据黑白名单比对结果进行预警。

进一步的,所述数据处理单元包括:

数据过滤插件模块,所述数据过滤插件模块用于根据过滤规则对所述解析后的浏览器数据包及解析后的服务器数据包进行过滤;

黑白名单插件模块,所述黑白名单插件模块用于根据黑白名单及预设比对规则对所述解析后的服务器数据包进行处理;

资源重定向插件模块,所述资源重定向插件模块用于根据重定向名单修改所述解析后的浏览器数据包的资源获取目标服务器地址。

进一步的,所述数据处理单元还包括:

接口扫描功能模块,所述接口扫描功能模块一端与所述数据过滤插件模块、所述黑白名单插件模块以及所述资源重定向插件模块相连接;所述接口扫描功能模块用于获取各插件模块执行顺序、过滤规则、黑白名单、预设比对规则及重定向名单信息,并发送执行顺序及过滤规则至数据过滤插件模块,发送执行顺序、黑白名单及预设比对规则至数据过滤插件模块,发送执行顺序及重定向名单至资源重定向插件模块。

进一步的,所述接口扫描功能模块采用包括预设存储方式以及扫描指定的文件夹方式获取各插件模块执行顺序、过滤规则、黑白名单预设比对规则及重定向名单信息。

进一步的,所述过滤规则包括域名、资源类型及资源名称;

所述黑白名单包括域名、资源类型及资源名称;

所述预设比对规则包括对于包含在白名单的资源不做处理;包含在黑名单的资源,进行阻拦;既不在白名单,也不在黑名单的资源,进行记录并提出警告;

所述重定向名单包括域名及资源名称。

一种基于前端代理的页面静态资源管理方法,所述方法包括:

接收并解析浏览器数据包;

根据插件执行顺序、过滤规则以及重定向名单,分别对解析后的浏览器数据包进行过滤以及资源重定向处理得到预处理浏览器数据包,并将所述预处理浏览器数据包发送至服务器;

接收并解析服务器数据包;

根据插件执行顺序、过滤规则、黑白名单以及预设比对规则,分别对所述解析后的服务器数据包进行过滤、黑白名单比对得到预处理服务器数据包,将所述预处理服务器数据包发送至浏览器;

根据黑白名单比对结果进行预警。

进一步的,在接收并解析浏览器数据包前还包括:

获取插件执行顺序、过滤规则、黑白名单、预设比对规则及重定向名单信息。

进一步的,所述方法采用包括预设存储方式以及扫描指定的文件夹方式获取插件执行顺序、过滤规则、黑白名单、预设比对规则及重定向名单信息。

进一步的,所述过滤规则包括域名、资源类型及资源名称;

所述黑白名单包括域名、资源类型及资源名称;

所述预设比对规则包括对于包含在白名单的资源不做处理;包含在黑名单的资源,进行阻拦;既不在白名单,也不在黑名单的资源,进行记录并提出警告;

所述重定向名单包括域名及资源名称。

本发明的有益效果为:本发明的技术方案,给出了一种基于前端代理的页面静态资源管理系统,所述系统包括:数据解析单元,其用于接收并解析浏览器数据包以及服务器数据包;数据处理单元,其用于过滤、资源重定向所述解析后的浏览器数据包并发送至服务器,对所述解析后的服务器数据包进行过滤、黑白名单比对后发送至浏览器,并根据黑白名单比对结果进行预警;本发明实现在测试过程中,对web页面加载静态资源的过程有效监控,对加载缓慢或加载失败的第三方静态资源,可在不修改源码的情况下,重定向资源加载路径,保证了测试进度的顺利进行,提高了测试效率;同时,还可以监控到隐藏的静态资源加载,给出相应的警告提示,提高了被测系统的安全性。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为本发明具体实施方式的一种基于前端代理的页面静态资源管理系统结构图;

图2为本发明具体实施方式的一种基于前端代理的页面静态资源管理方法流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为本发明具体实施方式的一种基于前端代理的页面静态资源管理系统结构图。如图1所示,所述系统包括:

数据解析单元110,所述数据解析单元110一端与数据处理单元120相连接;所述数据解析单元110用于接收并解析浏览器数据包以及服务器数据包,将解析后的浏览器数据包及解析后的服务器数据包发送至所述数据处理单元120;

具体的,本实例中设置浏览器代理指向所述数据解析单元110;当浏览器打开被测试应用时,发送的浏览器数据包就会传送到所述数据解析单元110,所述数据解析单元110接收后进行解析,将解析后的浏览器数据包发送至数据处理单元120;同理,所述数据解析单元110也将解析后的服务器数据包发送至所述数据处理单元120。

数据处理单元120,所述数据处理单元120用于过滤、资源重定向所述解析后的浏览器数据包得到预处理浏览器数据包,并将所述预处理浏览器数据包发送至服务器;所述数据处理单元120还用于对所述解析后的服务器数据包进行过滤、黑白名单比对得到预处理服务器数据包,将所述预处理服务器数据包发送至浏览器,并根据黑白名单比对结果进行预警;

进一步的,所述数据处理单元120包括:

接口扫描功能模块1201,所述接口扫描功能模块1201一端与所述数据过滤插件模块1202、所述黑白名单插件模块1203以及所述资源重定向插件模块1204相连接;所述接口扫描功能模块1201用于获取各插件模块执行顺序、过滤规则、黑白名单、预设比对规则及重定向名单信息,并发送执行顺序及过滤规则至数据过滤插件模块1202,发送执行顺序、黑白名单及预设比对规则至数据过滤插件模块1203,发送执行顺序及重定向名单至资源重定向插件模块1204;

进一步的,所述接口扫描功能模块1201采用包括预设存储方式以及扫描指定的文件夹方式获取各插件模块执行顺序、过滤规则、黑白名单预设比对规则及重定向名单信息;具体的,采用预设存储方式时,即将各插件模块执行顺序、过滤规则、黑白名单预设比对规则及重定向名单信息提前预存至所述接口扫描功能模块1201内,模块运行时自动加载获取相应信息;采用扫描指定的文件夹方式时,将预设信息以文件的形式存放在固定路径的文件夹下,当模块运行时,寻找指定路径的文件夹,读取文件内容获取文件信息,该种模式下可以根据具体情况随时修改预设信息,方便快捷;同时,所述接口扫描功能模块1201将各插件模块的执行顺序发送相应插件模块,相应插件模块根据执行顺序实现相应功能,灵活高效;

数据过滤插件模块1202,所述数据过滤插件模块1202用于根据过滤规则对所述解析后的浏览器数据包及解析后的服务器数据包进行过滤;所述过滤规则包括域名、资源类型及资源名称;

具体的,本实例中可以在配置文件中配置相应的过滤规则,如禁止某些响应慢、广告多、不利于测试的网站,将相应的网站域名填写到过滤规则配置文件中即可;灵活地配置,为提高测试效率带来了便捷;

黑白名单插件模块1203,所述黑白名单插件模块1203用于根据黑白名单及预设比对规则对所述解析后的服务器数据包进行处理;所述黑白名单包括域名、资源类型及资源名称;

所述预设比对规则包括对于包含在白名单的资源不做处理;包含在黑名单的资源,进行阻拦;既不在白名单,也不在黑名单的资源,进行记录并提出警告;

具体的,本实例中可以将一些常见的问题网站或者不安全资源添加在黑名单上,将常用的资源类型、域名、资源名称等添加到白名单上;这样,当解析服务器返回的数据包后,发现除了需要的静态资源还有其他的隐形的静态资源时,所述黑白名单插件模块1203就会判断,若该隐形的静态资源在白名单上,不做处理;若在黑名单上,进行阻拦;既不在白名单上,也不在黑名单上,进行记录并提出警告,此时,可以人工审核该资源是否保留;从而提高应用的安全性,防止恶意资源的加载;

资源重定向插件模块1204,所述资源重定向插件模块1204用于根据重定向名单修改所述解析后的浏览器数据包的资源获取目标服务器地址,所述重定向名单包括域名及资源名称;

具体的,有些时候在加载静态资源时,由于网络的原因导致静态资源加载缓慢,甚至加载失败,使得页面应用无法正确显示或提供功能,从而影响测试的进度;此时,可以根据重定向名单,利用资源重定向插件模块1204修改所述解析后的浏览器数据包的资源获取目标服务器地址,寻找更加高效、稳定的资源获取目标服务器地址,实现在不修改源码的情况下,重定向资源加载路径,从而保证测试的快速、顺利的进行。

图2为本发明具体实施方式的一种基于前端代理的页面静态资源管理方法流程图。如图2所示,所述方法包括:

步骤210,完成预设配置;具体的,启动基于前端代理的页面静态资源管理系统,设置浏览器代理指向所述系统;当浏览器打开被测试应用时,发送的浏览器数据包就会传送到所述系统;同理,服务器数据包也会发送至所述系统。

步骤220,获取预设信息;具体的,本实例中获取插件执行顺序、过滤规则、黑白名单、预设比对规则及重定向名单信息;

所述过滤规则包括域名、资源类型及资源名称;

所述黑白名单包括域名、资源类型及资源名称;

所述预设比对规则包括对于包含在白名单的资源不做处理;包含在黑名单的资源,进行阻拦;既不在白名单,也不在黑名单的资源,进行记录并提出警告;

所述重定向名单包括域名及资源名称;

进一步的,所述系统采用包括预设存储方式以及扫描指定的文件夹方式获取各插件模块执行顺序、过滤规则、黑白名单预设比对规则及重定向名单信息;具体的,采用预设存储方式时,即将各插件模块执行顺序、过滤规则、黑白名单预设比对规则及重定向名单信息提前预存至所述系统内,运行时自动加载获取相应信息;采用扫描指定的文件夹方式时,将预设信息以文件的形式存放在固定路径的文件夹下,当模块运行时,寻找指定路径的文件夹,读取文件内容获取文件信息,该种模式下可以根据具体情况随时修改预设信息,方便快捷。

步骤230,接收并解析浏览器数据包。

步骤240,过滤及重定向浏览器数据包;根据插件执行顺序、过滤规则以及重定向名单,分别对解析后的浏览器数据包进行过滤以及资源重定向处理得到预处理浏览器数据包,并将所述预处理浏览器数据包发送至服务器;

具体的,可以在配置文件中配置相应的过滤规则,如禁止某些响应慢、广告多、不利于测试的网站,将相应的网站域名填写到过滤规则配置文件中即可;灵活地配置,为提高测试效率带来了便捷;

有些时候在加载静态资源时,由于网络的原因导致静态资源加载缓慢,甚至加载失败,使得页面应用无法正确显示或提供功能,从而影响测试的进度;此时,可以根据重定向名单,修改所述解析后的浏览器数据包的资源获取目标服务器地址,寻找更加高效、稳定的资源获取目标服务器地址,实现在不修改源码的情况下,重定向资源加载路径,从而保证测试的快速、顺利的进行。

步骤250,接收并解析服务器数据包。

步骤260,过滤、黑白名单比对服务器数据包并预警;根据插件执行顺序、过滤规则、黑白名单以及预设比对规则,分别对所述解析后的服务器数据包进行过滤、黑白名单比对得到预处理服务器数据包,将所述预处理服务器数据包发送至浏览器;根据黑白名单比对结果进行预警。

具体的,本实例中可以将一些常见的问题网站或者不安全资源添加在黑名单上,将常用的资源类型、域名、资源名称等添加到白名单上;这样,当解析服务器返回的数据包后,发现除了需要的静态资源还有其他的隐形的静态资源时,系统就会判断,若该隐形的静态资源在白名单上,不做处理;若在黑名单上,进行阻拦;既不在白名单上,也不在黑名单上,进行记录并提出警告,此时,可以人工审核该资源是否保留;从而提高应用的安全性,防止恶意资源的加载。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。本说明书中涉及到的步骤编号仅用于区别各步骤,而并不用于限制各步骤之间的时间或逻辑的关系,除非文中有明确的限定,否则各个步骤之间的关系包括各种可能的情况。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。

以上所述仅是本公开的具体实施方式,应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开精神的前提下,可以作出若干改进、修改、和变形,这些改进、修改、和变形都应视为落在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1