【技术实现步骤摘要】
检测web应用第三方代码调用的方法及系统
本专利技术涉及web应用代码检测
,尤其涉及一种检测web应用第三方代码调用的方法及系统。
技术介绍
Web应用程序是基于浏览器/服务器模式(也称B/S架构)的应用程序。浏览器负责显示来自服务器的数据和接受用户的输入数据,也称为“与用户交互”;服务器负责处理浏览器的访问请求,并把处理结果(数据或者消息)组织成浏览器可以识别的格式文本返回。Web应用程序一般由Java类,配置文件,静态资源和第三方库组成。在构建一个项目的时候,都会引入多个第三方库的类文件来实现各种各样的功能,比如单元测试,日志管理和文件操作都需要第三方库。第三方库一般以.class或jar文件的形式发布。这些库通常包含一个或多个由.class类文件构成的包,每个包以它包含的.class类文件的名字命名。web应用程序开发完成后,无论是后期维护亦或者是增加功能,都需要了解web应用程序在启动过程中都会调用哪些第三方应用类文件,然而,现有技术中还没有针对web应用开发出任何这样的检测程序,这就给后期维护和开发的程序人
【技术保护点】
1.一种检测web应用第三方代码调用的方法,所述web应用基于Java框架,其特征在于,包括:/n1)、生成基于Javaagent结构的代理程序包,所述代理程序包包括有类文件识别程序,所述类文件识别程序用于识别待检测所述web应用的所有被调用的第三方代码类文件;/n2)、启动所述web应用前,将所述代理程序包添加进JVM参数中;/n3)、启动所述web应用,所述类文件识别程序通过所述JVM上的Instrumentation接口获取所述web应用所有需要被调用的类文件;/n4)、获取所述web应用的第三方库;/n5)、将上述步骤3中获取到的所有被调用的类文件与上述步骤4中获取 ...
【技术特征摘要】
1.一种检测web应用第三方代码调用的方法,所述web应用基于Java框架,其特征在于,包括:
1)、生成基于Javaagent结构的代理程序包,所述代理程序包包括有类文件识别程序,所述类文件识别程序用于识别待检测所述web应用的所有被调用的第三方代码类文件;
2)、启动所述web应用前,将所述代理程序包添加进JVM参数中;
3)、启动所述web应用,所述类文件识别程序通过所述JVM上的Instrumentation接口获取所述web应用所有需要被调用的类文件;
4)、获取所述web应用的第三方库;
5)、将上述步骤3中获取到的所有被调用的类文件与上述步骤4中获取到的所述第三方库中的各个jar文件比对,从而识别出所述web应用所调用的第三方类文件。
2.根据权利要求1所述的检测web应用第三方代码调用的方法,其特征在于,获取所述web应用的第三方库的具体方法包括:
采用字节码插桩技术将一监测程序插入所述web应用中处理请求的入口方法中,当有请求命令进入所述入口方法时,通过所述监测程序获取所述所述web应用的lib目录路径,然后遍历该路径下所有第三方jar文件,以获取所述web应用的第三方库。
3.根据权利要求2所述的检测web应用第三方代码调用的方法,其特征在于,所述监测程序属于所述代理程序包。
4.一种检测web应用第三方代码调用的系统,其特征在于,包括一基于Javaagent结构的代理程序包、第三方库获取模块和比对模块;<...
【专利技术属性】
技术研发人员:胡娇娇,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。