一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

防止非法获取编码文件指标源码的方法及装置与流程

2022-06-02 15:16:43 来源:中国专利 TAG:


1.本公开涉及加密技术领域,尤其涉及一种防止非法获取编码文件指标源码的。


背景技术:

2.在代码文件被上传至静态文件服务器,存在未被授权用户非法获取代码逻辑的风险,对于该领域技术人员来说,代码文件或者说代码逻辑是开放式的,没有保密性而言。
3.为解决上述问题,现有技术主要采用混淆加密的方式,也即在代码文件中加入字节码,增加大量代码信息挂在属性名下,但是此种方式也只是增加了阅读干扰程度,具体缺点如下:
4.1.在代码文件中加入字节码混淆难度较高,需要研发人员掌握汇编、反汇编相关技术,学习成本太高;
5.2.字节码混淆容易导致代码出现意想不到的bug,从而导致程序无法运行;
6.3.即使加入了字节码混淆也只能阻止初级的破解者,无法抵挡有经验的研发人员。
7.公开于本技术背景技术部分的信息仅仅旨在加深对本技术的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现要素:

8.本公开实施例提供一种防止非法获取编码文件指标源码的方法及装置,能够至少解决现有技术中的部分问题。
9.本公开实施例的第一方面,
10.提供一种防止非法获取编码文件指标源码的方法,包括:
11.编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
12.将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
13.在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
14.若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
15.在一种可选的实施方式中,
16.在将所述关联关系存储在数据结构服务器中后,所述方法还包括:
17.获取所述数据结构服务器中的关联关系;
18.根据所述关联关系以及预设的反射关系,获取所述关联关系中的被关联指标。
19.在一种可选的实施方式中,
20.在获取所述数据结构服务器中的关联关系之前,所述方法还包括:
21.根据所述数据结构服务器中预存的权限数据,验证获取所述关联关系的目标对象的权限;
22.若所述目标对象的权限与所述预存的权限数据相匹配,则对所述目标对象开放数据获取权限。
23.在一种可选的实施方式中,
24.所述指标元数据包括指标名称、指标编码、指标标签、指标输出类型以及指标说明中至少一种。
25.在一种可选的实施方式中,
26.所述预设检验规则包括:
27.判断所述指标元数据是否存在、所述指标元数据是否合法、所述指标元数据的语法是否正确;
28.所述按照预设检验规则检验所述目标编码文件的合法性的方法包括:
29.基于所述预设检验规则依次判断所述目标编码文件中指标元数据的各个项目是否与所述预设检验规则相匹配。
30.本公开实施例的第二方面,
31.提供一种防止非法获取编码文件指标源码的装置,所述装置包括:
32.第一单元,用于编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
33.第二单元,用于将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
34.第三单元,用于在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
35.第四单元,用于若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
36.在一种可选的实施方式中,
37.所述装置还包括第五单元,所述第五单元用于:
38.获取所述数据结构服务器中的关联关系;
39.根据所述关联关系以及预设的反射关系,获取所述关联关系中的被关联指标。
40.在一种可选的实施方式中,
41.所述装置还包括第六单元,所述第六单元用于:
42.根据所述数据结构服务器中预存的权限数据,验证获取所述关联关系的目标对象的权限;
43.若所述目标对象的权限与所述预存的权限数据相匹配,则对所述目标对象开放数据获取权限。
44.在一种可选的实施方式中,
45.所述指标元数据包括指标名称、指标编码、指标标签、指标输出类型以及指标说明中至少一种。
46.在一种可选的实施方式中,
47.所述预设检验规则包括:
48.判断所述指标元数据是否存在、所述指标元数据是否合法、所述指标元数据的语法是否正确;
49.所述第二单元还用于:
50.基于所述预设检验规则依次判断所述目标编码文件中指标元数据的各个项目是否与所述预设检验规则相匹配。
51.本公开实施例的第三方面,
52.提供一种电子设备,包括:
53.处理器;
54.用于存储处理器可执行指令的存储器;
55.其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述本公开实施例第一方面所述的方法。
56.本公开实施例的第四方面,
57.提供一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现本公开实施例第一方面所述的方法。
58.本公开提供一种防止非法获取编码文件指标源码的方法,包括:
59.编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
60.将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
61.在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
62.若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
63.本公开的方法能够将目标编码文件存储在数据结构服务器中,使得无权限的用户无法非法获取到,所以能够保证目标编码文件中指标元数据的安全;
64.此外,无需修改目标编码文件中指标元数据的字节码,保证指标正常运行,同时减轻学习成本,使研发人员只需要关注指标逻辑本身即可。
附图说明
65.图1示例性地示出本公开实施例防止非法获取编码文件指标源码的方法的流程示意图;
66.图2示例性地示出本公开实施例防止非法获取编码文件指标源码的装置的结构示意图。
具体实施方式
67.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术
人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
68.本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
69.应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
70.应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
71.应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和c”、“包含a、b、c”是指a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b和/或c”是指包含a、b、c三者中任1个或任2个或3个。
72.应当理解,在本公开中,“与a对应的b”、“与a相对应的b”、“a与b
73.相对应”或者“b与a相对应”,表示b与a相关联,根据a可以确定b。根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。a与b的匹配,是a与b的相似度大于或等于预设的阈值。
74.取决于语境,如在此所使用的“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。
75.下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
76.图1示例性地示出本公开实施例防止非法获取编码文件指标源码的方法的流程示意图,如图1所示,所述方法包括:
77.s101、编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
78.示例性地,本公开实施例的编码文件可以包括当前编码语言编译的文件,为了示例性地说明,本公开实施例以编码语言为python为例,现有的代码文件或者说代码逻辑是开放式的,没有保密性而言。
79.本公开通过构建目标编码文件,并且后续将其上传至静态文件服务器,能够预先设定编码文件,便于后期进行文件调用等。
80.在一种可选的实施方式中,
81.所述指标元数据包括指标名称、指标编码、指标标签、指标输出类型以及指标说明中至少一种。
82.示例性地,在编译当前编码文件的各个指标元数据时,能够通过特殊的符号标识表名,在此处需要调用其它指标,即存在与其它指标的关联关系。
83.s102、将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
84.在一种可选的实施方式中,
85.所述预设检验规则包括:
86.判断所述指标元数据是否存在、所述指标元数据是否合法、所述指标元数据的语法是否正确;
87.所述按照预设检验规则检验所述目标编码文件的合法性的方法包括:
88.基于所述预设检验规则依次判断所述目标编码文件中指标元数据的各个项目是否与所述预设检验规则相匹配。
89.示例性地,预设的检验规则能够全面地验证目标编码文件的合法性,避免某个维度的遗漏。
90.s103、在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
91.可选地,可以在上传python指标的过程中通过指标治理系统校验指标元数据(包含indexname、indexcode、outputformat、indextag、description)是否存在、元数据是否合法(outputformat只能包含“数值”、“字符串”、“日期”)、指标语法是否正确(即是否满足python3的语法)从而检验指标的合法性,
92.在此基础上,可以校验静态文件服务器中是否已存在被关联/被调用的指标,若不存在则抛出异常禁止上传;
93.若存在,则自动建立调用指标与被调用指标之间的关联关系,并将关联关系保存在数据结构服务器中。
94.s104、若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
95.通过将目标编码文件存储在数据结构服务器中,使得无权限的用户无法非法获取到,所以能够保证目标编码文件中指标元数据的安全。
96.在一种可选的实施方式中,
97.在将所述关联关系存储在数据结构服务器中后,所述方法还包括:
98.获取所述数据结构服务器中的关联关系;
99.根据所述关联关系以及预设的反射关系,获取所述关联关系中的被关联指标。
100.在一种可选的实施方式中,
101.在获取所述数据结构服务器中的关联关系之前,所述方法还包括:
102.根据所述数据结构服务器中预存的权限数据,验证获取所述关联关系的目标对象的权限;
103.若所述目标对象的权限与所述预存的权限数据相匹配,则对所述目标对象开放数据获取权限。
104.示例性地,使用时可以先获取数据结构服务器中的关联关系,再通过反射的方式获取被关联指标。若被关联指标不在静态文件服务器中,则在使用过程中会存在找不到被关联指标的风险,以至于指标无法使用。为了消除这种风险,需要在指标上传时进行校验。
105.通过验证目标对象的权限,也即,判断目标对象的权限与所述预存的权限数据是
否相匹配,能够保证数据不被非法权限的用户所获取,进一步保证数据的安全。
106.此外,需要额外说明的是,本公开实施例的指标元数据中的指标可以用于说明总体综合数量特征的概念。例如,在工业普查中,所有工业企业构成总体,工业企业总数、工业职工总数、工资总额、平均工资、固定资产总值、利润总额等就是指标,它们都从不同的方面反映总体的数量特征。本公开实施例对此并不进行限定。
107.本公开提供一种防止非法获取编码文件指标源码的方法,包括:
108.编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
109.将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
110.在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
111.若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
112.本公开的方法能够将目标编码文件存储在数据结构服务器中,使得无权限的用户无法非法获取到,所以能够保证目标编码文件中指标元数据的安全;
113.此外,无需修改目标编码文件中指标元数据的字节码,保证指标正常运行,同时减轻学习成本,使研发人员只需要关注指标逻辑本身即可。
114.图2示例性地示出本公开实施例防止非法获取编码文件指标源码的装置的结构示意图,如图2所示,所述装置包括:
115.第一单元21,用于编译当前编码文件的指标元数据,以及与所述指标元数据相关联的调用关系,构建目标编码文件;
116.第二单元22,用于将所述目标编码文件上传至静态文件服务器,并按照预设检验规则检验所述目标编码文件的合法性;
117.第三单元23,用于在所述目标编码文件合法的情况下,判断所述静态文件服务器中预存的调用关系是否与所述目标编码文件中的调用关系相匹配;
118.第四单元24,用于若相匹配,则建立调用指标与被调用指标之间的关联关系,并将所述关联关系存储在数据结构服务器中。
119.在一种可选的实施方式中,
120.所述装置还包括第五单元,所述第五单元用于:
121.获取所述数据结构服务器中的关联关系;
122.根据所述关联关系以及预设的反射关系,获取所述关联关系中的被关联指标。
123.在一种可选的实施方式中,
124.所述装置还包括第六单元,所述第六单元用于:
125.根据所述数据结构服务器中预存的权限数据,验证获取所述关联关系的目标对象的权限;
126.若所述目标对象的权限与所述预存的权限数据相匹配,则对所述目标对象开放数据获取权限。
127.在一种可选的实施方式中,
128.所述指标元数据包括指标名称、指标编码、指标标签、指标输出类型以及指标说明中至少一种。
129.在一种可选的实施方式中,
130.所述预设检验规则包括:
131.判断所述指标元数据是否存在、所述指标元数据是否合法、所述指标元数据的语法是否正确;
132.所述第二单元22还用于:
133.基于所述预设检验规则依次判断所述目标编码文件中指标元数据的各个项目是否与所述预设检验规则相匹配。
134.需要说明的是,本公开装置实施例的有益效果可以参考前述方法实施例的有益效果,本公开实施例在此不再赘述。
135.本公开实施例的第三方面,
136.提供一种电子设备,包括:
137.处理器;
138.用于存储处理器可执行指令的存储器;
139.其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述本公开实施例第一方面所述的方法。
140.本公开实施例的第四方面,
141.提供一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现本公开实施例第一方面所述的方法。
142.需要说明的是,本公开实施例的电子设备以及可读存储介质对应的有益效果,可以参考前述方法实施例的有益效果,本公开实施例在此不再赘述。
143.本公开还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
144.其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。另外,该asic可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
145.在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
146.最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献