一种代码安全处理方法、装置、终端设备及系统的制作方法

文档序号:10725494阅读:558来源:国知局
一种代码安全处理方法、装置、终端设备及系统的制作方法
【专利摘要】本公开是关于一种代码安全处理方法、装置、终端设备及系统。该代码安全处理方法,包括:获取HTML5代码中的JS代码的签名信息;将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。应用本公开实施例的方案,能提高代码本地加载或存储的安全性。
【专利说明】
一种代码安全处理方法、装置、终端设备及系统
技术领域
[0001]本公开涉及移动通信技术领域,尤其涉及一种代码安全处理方法、装置、终端设备及系统。
【背景技术】
[0002]目前,随着在Android(安卓)设备中越来越多地使用Webview(网络视图),通过HTML5(Hyper Text Markup Language 5,第五版超级文本标记语言)来实现之前NativeApp(本地应用模式)无法实现的功能,如快速更新、实时上线等,使得用户之间可以有更多的交互。其中,WebView能加载显示网页,可以将其视为一个浏览器,它是使用了 WebKit渲染引擎加载显示网页。
[0003]在实现HTML5过程中,经常会用到JavaScript(简称JS)代码。为了避免JS代码的重复加载,浪费用户流量,影响用户体验,一般经常会将JS代码缓存到安卓设备的本地缓存中。
[0004]但是,上述存储处理方法存在风险,可能会遭受XSS(Cross Site Scripting,跨站脚本)攻击,本地代码很可能会被篡改,而被篡改的代码可能又会被进一步缓存,使得与代码相关的应用受到更大的影响,最终影响到Webview的使用。

【发明内容】

[0005]本公开提供了一种代码安全处理方法、装置、终端设备及系统,能提高代码本地加载或存储的安全性。
[0006]根据本公开实施例的第一方面,提供一种代码安全处理方法,包括:
[0007]获取HTML5代码中的JS代码的签名信息;
[0008]将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;
[0009]在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0010]可选的,所述方法还包括:
[0011 ]在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。
[0012]可选的,所述获取HTML5代码中的JS代码的签名信息包括:
[0013]获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。
[0014]可选的,所述获取HTML5代码中的JS代码的签名信息包括:
[0015]在访问HTML5代码时获取HTML5代码中的JS代码的签名信息。
[0016]可选的,所述将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比,包括:
[0017]获取HTML5代码中的HTML5标签中预设的验证级别标识;
[0018]根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0019]可选的,在签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0020]根据本公开实施例的第二方面,提供一种代码安全处理装置,包括:
[0021 ]获取模块,用于获取HTML5代码中的JS代码的签名信息;
[0022]校验模块,用于将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述获取模块获取的HTML5代码中的JS代码的签名信息进行对比;
[0023]第一处理模块,用于在所述校验模块的签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0024]可选的,所述装置还包括:
[0025]第二处理模块,用于在所述校验模块的签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。
[0026]可选的,所述获取模块是获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。
[0027]可选的,所述校验模块包括:
[0028]分级子模块,用于获取HTML5代码中的HTML5标签中预设的验证级别标识;
[0029]执行子模块,用于根据所述分级子模块的所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0030]可选的,所述装置还包括:
[0031]第三处理模块,用于在所述校验模块的签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0032]根据本公开实施例的第三方面,提供一种终端设备,包括:
[0033]处理器和用于存储处理器可执行指令的存储器;
[0034]其中,所述处理器被配置为:
[0035]获取HTML5代码中的JS代码的签名信息;
[0036]将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;
[0037]在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0038]根据本公开实施例的第四方面,提供一种代码安全处理系统,包括:
[0039]客户端,用于通过网络视图Webview获取HTML5代码中的JS代码的签名信息;将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码;
[0040]服务端,用于向所述客户端传输JS代码原文件。[0041 ]可选的,所述服务端根据预设算法对JS代码进行签名得到签名信息后预先设置在HTML5代码中的HTML5标签,其中所述签名信息包括算法类型和签名内容。
[0042]可选的,所述服务端在HTML5代码中的HTML5标签中预设验证级别标识;
[0043]所述客户端通过网络视图Webview获取HTML5代码中的HTML5标签中预设的验证级别标识;根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0044]本公开的实施例提供的技术方案可以包括以下有益效果:本公开通过在HTML5代码中设置JS代码的签名信息,获取其中的签名信息,并与根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息进行对比,在签名信息对比结果相同的情况下,才在客户端本地加载和/或存储所述HTML5代码中的JS代码,这样就可以保证加载或存储的JS代码是没有被纂改的,实现提高代码本地加载或存储的安全性。
[0045]本公开还可以在在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端,由服务端进行解决。
[0046]本公开可以由服务端根据预设算法对JS代码进行签名得到签名信息后预先设置在HTML5标签中。
[0047]本公开还可以设置安全分级,由服务端在HTML5代码中的HTML5标签中预设验证级别标识,使得客户端可根据所述验证级别标识,分别在加载阶段或存储阶段进行验证处理。
[0048]本公开还可以在签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后再在客户端本地进行加载和/或存储处理。
[0049]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0050]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0051]图1是本公开根据一示例性实施例示出的一种代码安全处理方法的流程图。
[0052]图2是本公开根据一示例性实施例示出的一种代码安全处理方法的另一流程图。
[0053]图3是本公开根据一示例性实施例示出的一种代码安全处理方法的另一流程图。
[0054]图4是本公开根据一示例性实施例示出的一种代码安全处理装置的框图。
[0055]图5是本公开根据一示例性实施例示出的一种代码安全处理装置的另一框图。
[0056]图6是本公开根据一示例性实施例示出的一种终端设备的一结构框图。
[0057]图7是本公开根据一示例性实施例示出的一种设备的一结构框图。
[0058]图8是本公开根据一示例性实施例示出的一种代码安全处理系统的一结构框图。
【具体实施方式】
[0059]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0060]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0061 ]应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0062]本公开提供了一种代码安全处理方法,能提高代码本地加载或存储的安全性。
[0063]图1是本公开根据一示例性实施例示出的一种代码安全处理方法的流程图。
[0064]该方法可以应用于终端中,如图1所示,该方法可以包括以下步骤:
[0065]在步骤101中,获取HTML5代码中的JS代码的签名信息。
[0066]该步骤可以是获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。
[0067 ] 该步骤可以是在访问HTML5代码时获取HTML5代码中的JS代码的签名信息。
[0068]在步骤102中,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0069]该步骤可以包括:获取HTML5代码中的HTML5标签中预设的验证级别标识;根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0070]在步骤103中,在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0071]由该实施例可见,本公开通过在HTML5代码中设置JS代码的签名信息,获取其中的签名信息,并与根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息进行对比,在签名信息对比结果相同的情况下,才在客户端本地加载和/或存储所述HTML5代码中的JS代码,这样就可以保证加载或存储的JS代码是没有被纂改的,实现提高代码本地加载或存储的安全性。
[0072]图2是本公开根据一示例性实施例示出的一种代码安全处理方法的另一流程图。
[0073]该方法可以应用于终端中,如图2所示,该方法可以包括以下步骤:
[0074]在步骤201中,获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。
[0075]该步骤可以是在访问HTML5代码时,获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息。
[0076]在步骤202中,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0077]该步骤可以包括:获取HTML5代码中的HTML5标签中预设的验证级别标识;根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0078]在步骤203中,在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0079]在步骤204中,在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。
[0080]需说明的是,在签名信息对比结果不相同的情况下,还可以为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0081]还需要说明的是,步骤203和步骤204没有必然的顺序关系。
[0082]图3是本公开根据一示例性实施例示出的一种代码安全处理方法的另一流程图。
[0083]图3相对于图1和2,更详细描述了本公开的方案。图3描述了客户端与服务端的交互过程。
[0084]如图3所示,该方法可以包括以下步骤:
[0085]在步骤301中,服务端根据预设算法对JS代码进行签名得到签名信息,将签名信息预先设置在HTML5代码的HTML5标签中。
[0086]在服务端对需要传给客户端的JS代码进行签名得到签名信息,签名信息可以包括算法类型和签名内容。本公开可以采用预设算法例如md5(Message Digest Algorithm,消息摘要算法第五版)或者sha-1 (Secure Hash Algorithm,安全散列算法)进行签名但不局限于此。得到签名信息后,将签名信息预先设置在编写的HTML5代码的HTML5标签中,HTML5标签中包括JS代码进行签名后的算法类型和签名内容,就可以和JS代码对应了。
[0087]以安全散列算法进行签名为例,对JS代码进行散列计算得到运算结果作为签名信息。根据散列算法,每条代码的散列值的内容及长度都是固定的,因此根据安全散列算法进行签名可以防止代码被纂改。然后,将计算的散列值设置到HTML5代码的HTML5标签中,例如:〈html sign_method= ’ shal ’ sing_code= ’as2ddsaadf’ js_code= ’http://abc.com/local/data/abc.js,>〈/html>。其中,“js_code” 中与JS代码相关。
[0088]需说明的是,在生成或编写HTM5代码时,在标签中增加算法类型(也可以称为签名类型)和签名内容,可以是由开发人员手动添加,也可以是代码逻辑自动进行添加。
[0089]在步骤302中,服务端预先在HTML5代码的HTML5标签中设置验证级别标识。
[0090]本公开为了提高HTML5网页展示效率,对验证签名必要性不大的JS代码文件,可以进行安全分级处理。服务端可以在HTML5标签中增加一个字段,设置验证级别标识用于标志该JS代码文件的验证级别。
[0091 ]不同的标识可以标识不同的验证级别,例如:标识I标识在加载时严格校验,缓存时不用校验;标识2标识在加载时可以不严格校验或不校验,但在缓存时需严格校验;标识3标识允许校验都不通过,但需设置有效期,例如设置较短的过期时间等。需说明的是,标识的顺序可根据需要进行设定。在加载时严格校验,表示该代码很关键,不允许有出错的情况,这样在一开始就需要校验,这样缓存的时候就不需要校验了;在加载时可以不严格校验,在缓存时严格校验,指的是第一次可以出错,但不能允许接下来的每次都出错;允许校验不通过,但需设置较短的过期时间,是指这次代码无关紧要,可以执行1-2次,只是保存很短的时间,就会被删除。
[0092]需说明的是,步骤301和302没有必然的顺序关系。另外也可以不需要步骤302。
[0093]在步骤303中,客户端在访问HTML5代码时,通过网络视图Webview获取HTML5代码的HTML5标签中预置的JS代码的签名信息和预设的验证级别标识。
[0094]在步骤304中,客户端通过网络视图Webview从服务端端获取JS代码原文件,根据预设算法对JS代码原文件进行签名获得签名信息。
[0095]该步骤中的预设算法,可以由服务端与客户端预先约定,也可以由客户端通过HTML5标签中预置的JS代码的签名信息中的算法类型获知。例如,签名信息中的算法类型指明是安全散列算法进行签名,则客户端也使用安全散列算法进行签名。
[0096]在步骤305中,客户端根据所述验证级别标识,分别在加载阶段或存储阶段,通过网络视图Webview将对JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0097]如果客户端从标签中获取的验证级别标识是标识在加载时严格校验,缓存时不用校验,则客户端在加载阶段通过网络视图Webview将对JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0098]如果客户端从标签中获取的验证级别标识是标识在加载时可以不严格校验或不校验,但在缓存时需严格校验,则客户端在加载阶段不进行校验,在存储阶段再通过网络视图Webview将对JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0099]在步骤306中,客户端在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0100]如果签名信息对比结果相同,则客户端可以加载HTML5代码中的JS代码,并可以进一步实现缓存。如果是在存储阶段进行校验对比,则在签名信息对比结果相同后进行缓存。
[0101]本公开中,加载可理解为将把当前JS代码执行一次;存储或缓存是指这段JS代码比较大或者使用比较频繁,这样就需要在客户端缓存,在下次调用的时候就不需要从服务端请求,从而提尚效率。
[0102]在步骤307中,客户端在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端,或者为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0103]如果签名信息对比结果相同,则客户端可以调用回调通知方法,告知服务端服务可能被劫持,由服务端进行解决。或者,客户端可以为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0104]需说明的是,步骤306和307没有必然的顺序关系。
[0105]从该实施例可以看出,本公开方案具有以下有益效果:
[0106]本公开充分利用HTML5代码中的HTML5标签,在标签中设置JS代码的签名信息作为自定义签名内容,客户端根据HTML5标签中的签名信息中的算法类型,选择对应算法对JS代码原文件进行签名得签名信息,再与HTML5标签中的签名信息进行对比,如果对比结果相同,表示没有被纂改,可进行加载和/或存储,这样就增强了客户端本地存储代码的安全性,在存储来源实现严格控制。进一步的,本公开可以对JS代码进行安全性分级,并进行不同的验证级别,这样使得可以提高效率,存储更加灵活。
[0107]与前述应用功能实现方法实施例相对应,本公开还提供了一种代码安全处理装置、终端、设备及相应的的实施例。
[0108]图4是本公开根据一示例性实施例示出的一种代码安全处理装置的框图。
[0109]该装置可以是设置在终端中。如图4所示,在代码安全处理装置中可以包括:获取模块41、校验模块42、第一处理模块43。
[0110]获取模块41,用于获取HTML5代码中的JS代码的签名信息;
[0111]校验模块42,用于将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述获取模块获取的HTML5代码中的JS代码的签名信息进行对比;
[0112]第一处理模块43,用于在所述校验模块42的签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码
[0113]由该实施例可见,本公开通过在HTML5代码中设置JS代码的签名信息,获取其中的签名信息,并与根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息进行对比,在签名信息对比结果相同的情况下,才在客户端本地加载和/或存储所述HTML5代码中的JS代码,这样就可以保证加载或存储的JS代码是没有被纂改的,实现提高JS代码本地加载或存储的安全性。
[0114]图5是本公开根据一示例性实施例示出的一种代码安全处理装置的另一框图。
[0115]该装置可以是设置在终端中。如图5所示,在代码安全处理装置中可以包括:获取模块41、校验模块42、第一处理模块43、第二处理模块44、第三处理模块45。
[0116]其中,获取模块41、校验模块42、第一处理模块43的功能参见图4所述。
[0117]第二处理模块44,用于在所述校验模块42的签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。
[0118]其中,所述获取模块41是获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。获取模块41可以在访问HTML5代码时获取HTML5代码中的JS代码的签名信息。
[0119]其中,所述校验模块42可以包括:分级子模块421、执行子模块422。
[0120]分级子模块421,用于获取HTML5代码中的HTML5标签中预设的验证级别标识;
[0121]执行子模块422,用于根据所述分级子模块421的所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0122]第三处理模块45,用于在所述校验模块42的签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0123]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0124]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0125]图6是本公开根据一示例性实施例示出的一种终端设备的一结构框图。
[0126]如图6所示,终端设备包括:处理器601和用于存储处理器601可执行指令的存储器602;
[0127]其中,处理器601被配置为:
[0128]获取HTML5代码中的JS代码的签名信息;
[0129]将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;
[0130]在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0131]还需说明的是,存储器602存储的其他程序,具体参见前面方法流程中的描述,此处不再赘述,处理器601还用于执行存储器602存储的其他程序。
[0132]图7是本公开根据一示例性实施例示出的一种设备的一结构框图。
[0133]例如,设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0134]参照图7,设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
[0135]处理组件702通常控制设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件707和处理组件702之间的交互。
[0136]存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0137]电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
[0138]多媒体组件708包括在设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0139]音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
[0140]I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0141]传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700—个组件的位置改变,用户与设备700接触的存在或不存在,设备700方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0142]通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0143]在示例性实施例中,设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0144]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由设备700的处理器720执行以完成上述方法。例如,非临时性计算机可读存储介质可以是R0M、随机存取存储器(RAM)、⑶-R0M、磁带、软盘和光数据存储设备等。
[0145]—种非临时性计算机可读存储介质,当存储介质中的指令由终端设备的处理器执行时,使得终端能够执行代码安全处理方法,方法包括:
[0146]获取HTML5代码中的JS代码的签名信息;
[0147]将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;
[0148]在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。
[0149]图8是本公开根据一示例性实施例示出的一种代码安全处理系统的一结构框图。
[0150]如图8所示,在一种代码安全处理系统中,包括:客户端81、服务端82。
[0151]客户端81,用于通过网络视图Webview获取HTML5代码中的JS代码的签名信息;将根据预设算法对从服务端82获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;在签名信息对比结果相同的情况下,在客户端81本地加载和/或存储所述HTML5代码中的JS代码;
[0152]服务端82,用于向所述客户端81传输JS代码原文件。
[0153]其中,所述服务端82可以根据预设算法对JS代码进行签名得到签名信息后预先设置在HTML5代码中的HTML5标签,其中所述签名信息包括算法类型和签名内容。
[0154]其中,所述服务端82可以在HTML5代码中的HTML5标签中预设验证级别标识;所述客户端81通过网络视图Webview获取HTML5代码中的HTML5标签中预设的验证级别标识;根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
[0155]其中,客户端81可以在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端82,或者为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。
[0156]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0157]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种代码安全处理方法,其特征在于,包括: 获取HTML5代码中的JS代码的签名信息; 将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比; 在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。3.根据权利要求1所述的方法,其特征在于,所述获取HTML5代码中的JS代码的签名信息包括: 获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。4.根据权利要求1所述的方法,其特征在于,所述获取HTML5代码中的JS代码的签名信息包括: 在访问HTML5代码时获取HTML5代码中的JS代码的签名信息。5.根据权利要求1所述的方法,其特征在于,所述将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比,包括: 获取HTML5代码中的HTML5标签中预设的验证级别标识; 根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。6.根据权利要求5所述的方法,其特征在于: 在签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。7.一种代码安全处理装置,其特征在于,包括: 获取模块,用于获取HTML5代码中的JS代码的签名信息; 校验模块,用于将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述获取模块获取的HTML5代码中的JS代码的签名信息进行对比; 第一处理模块,用于在所述校验模块的签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二处理模块,用于在所述校验模块的签名信息对比结果不相同的情况下,将对比结果反馈给所述服务端。9.根据权利要求7所述的装置,其特征在于: 所述获取模块是获取HTML5代码中的由服务端根据预设算法对JS代码进行签名后预先设置在HTML5标签中的签名信息,其中所述签名信息包括算法类型和签名内容。10.根据权利要求7所述的装置,其特征在于,所述校验模块包括: 分级子模块,用于获取HTML5代码中的HTML5标签中预设的验证级别标识; 执行子模块,用于根据所述分级子模块的所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 第三处理模块,用于在所述校验模块的签名信息对比结果不相同的情况下,为所述HTML5代码中的JS代码设定有效期后在客户端本地进行加载和/或存储处理。12.一种终端设备,其特征在于,包括: 处理器和用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 获取HTML5代码中的JS代码的签名信息; 将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比; 在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码。13.一种代码安全处理系统,其特征在于,包括: 客户端,用于通过网络视图Webview获取HTML5代码中的JS代码的签名信息;将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比;在签名信息对比结果相同的情况下,在客户端本地加载和/或存储所述HTML5代码中的JS代码; 服务端,用于向所述客户端传输JS代码原文件。14.根据权利要求13所述的系统,其特征在于: 所述服务端根据预设算法对JS代码进行签名得到签名信息后预先设置在HTML5代码中的HTML5标签,其中所述签名信息包括算法类型和签名内容。15.根据权利要求13所述的系统,其特征在于: 所述服务端在HTML5代码中的HTML5标签中预设验证级别标识; 所述客户端通过网络视图Webv i ew获取HTML5代码中的HTML5标签中预设的验证级别标识;根据所述验证级别标识,分别在加载阶段或存储阶段,将根据预设算法对从服务端获取的JS代码原文件进行签名获得的签名信息与所述HTML5代码中的JS代码的签名信息进行对比。
【文档编号】G06F21/51GK106096388SQ201610379881
【公开日】2016年11月9日
【申请日】2016年5月31日
【发明人】张旭华, 张涛, 刘硕
【申请人】北京小米移动软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1