[发明专利]一种轻量级JavaScript沙箱的实现方法有效
申请号: | 201210386639.9 | 申请日: | 2012-10-12 |
公开(公告)号: | CN102930203A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 吴明晖;吕嘉;颜晖;金苍宏;薛莲 | 申请(专利权)人: | 浙江大学城市学院 |
主分类号: | G06F21/53 | 分类号: | G06F21/53 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) 33231 | 代理人: | 张宇娟 |
地址: | 310015 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 javascript 实现 方法 | ||
1.一种轻量级JavaScript沙箱的实现方法,其特征在于,包括如下步骤:
S10:定义沙箱内部的访问控制;
S11:根据所定义的访问控制自动生成沙箱监控代码;
S12:根据所定义的访问控制自动生成禁止访问函数的监控代码;
S13:实时检测沙箱内部恶意代码,阻止危险的函数调用。
2.如权利要求1所述轻量级JavaScript沙箱的实现方法,其特征在于,所述步骤S10具体包括:
S101:定义一个函数作为沙箱范围,将可疑的JavaScript代码封装在这个特定的函数内部,针对这个沙箱定义禁止访问的函数集合;
S102:对一组访问控制定义一个访问控制对象数组,每一个数组元素对应一个访问控制。
3.如权利要求2所述轻量级JavaScript沙箱的实现方法,其特征在于,步骤S102中,每一个访问控制包括有沙箱名称和禁止访问函数数组这两个部分,沙箱名称为沙箱入口函数名称,禁止访问函数数组的每一个元素是对应的沙箱内部禁止访问的一个函数名称。
4.如权利要求3所述轻量级JavaScript沙箱的实现方法,其特征在于,所述步骤S11具体包括:
S110:逐个访问访问控制对象数组,取出其中的访问控制对象;
S111:根据访问控制对象的沙箱名称,生成入口函数的监控代码的字符串;
S112:根据步骤S111中生成的字符串,使用jQuery AOP和JavaScript函数生成沙箱的监控代码。
5.如权利要求4所述轻量级JavaScript沙箱的实现方法,其特征在于:所述步骤S12具体包括:
S120:逐个访问控制对象数组元素,取出其中的访问控制对象;
S121:根据访问控制对象的禁止访问函数数组生成禁止访问函数的监控代码的字符串;
S121:根据步骤S121生成的字符串,使用jQuery AOP和JavaScript函数生成禁止访问函数的监控代码。
6.如权利要求5所述轻量级JavaScript沙箱的实现方法,其特征在于:所述步骤S13具体包括:。
S130:当沙箱入口函数被执行时,系统进入口函数对应的沙箱;
S131:设置进入沙箱为系统的当前沙箱,系统的沙箱数量加1;
S132:执行沙箱内部的程序代码;
S133:如果沙箱内部代码执行完成,则返回上一个沙箱,系统的沙箱数量减1,系统返回初始状态;
S134:如果某个禁止访问函数被执行,则判断该禁止访问函数是否属于当前的访问控制,如果属于当前的访问控制,则执行步骤S135;否则,返回步骤S132;
S135:发生危险程序行为时,阻止执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学城市学院,未经浙江大学城市学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210386639.9/1.html,转载请声明来源钻瓜专利网。