本发明涉及信息安全,尤其涉及一种数据混淆方法、装置和电子设备。
背景技术:
1、随着互联网的快速发展,各式各样的网页(web)应用也越来越广泛,越来越多企业机构将业务功能通过web应用向用户提供,这也导致越来越多的黑客致力于研究如何通过web进行攻击。由于web的开放特性,前端代码暴露在浏览器中,可被轻易复制盗用,而且黑客若通过前端代码知晓前端逻辑,可伪装成正常用户实施恶意行为。除此之外,各种自动化工具可通过代码进行漏洞探测与攻击等行为,对服务器造成威胁。
2、因此,在web安全防护中,对于前端代码的保护不容忽视。因此,对于本领域技术人员,如何实现对前端代码的保护是需要解决的问题。
技术实现思路
1、本发明提供一种数据混淆方法、装置和电子设备,用以实现对前端代码的保护,提高了代码的安全性。
2、本发明提供了一种数据混淆方法,应用于网页web应用防护系统,所述网页web应用防护系统分别和客户端以及服务器连接,包括:
3、响应于所述客户端发送的web页面内容请求,从所述服务器获取web页面内容;
4、在所述web页面内容包括js代码的情况下,对所述js代码进行混淆,并将混淆后的js代码发送至所述客户端;
5、响应于客户端发送的第一请求,将所述混淆后的js代码对应的解混淆数据发送至所述客户端;或,
6、在所述web页面内容仅包括js文件的信息,所述js文件用于承载js代码的情况下,将所述web页面内容发送至所述客户端;
7、响应于客户端发送的第二请求,将解混淆数据发送至所述客户端,并从所述服务器获取所述js文件;
8、对所述js文件中的js代码进行混淆,并将混淆后的js代码发送至所述客户端。
9、根据本发明提供的一种数据混淆方法,所述从所述服务器获取web页面内容之后,所述方法还包括:
10、获取所述web页面内容的长度;
11、若所述长度不为零,则获取所述web页面内容的类型;
12、若所述web页面内容的类型为文本方式的网文文件,则在所述web页面内容中插入指示信息;所述指示信息用于向所述客户端指示所述混淆后的js代码对应的解混淆数据的信息。
13、根据本发明提供的一种数据混淆方法,所述响应于客户端发送的第一请求,将所述混淆后的js代码对应的解混淆数据发送至所述客户端,包括:
14、响应于所述客户端发送的所述第一请求,将所述解混淆数据对应的超文本标记语言html文件名进行转换,得到所述解混淆数据的js文件名;
15、将所述js文件名的预设位和所述web页面内容的html文件名进行匹配,得到第一匹配结果;
16、在所述第一匹配结果表征成功时,将所述混淆后的js代码对应的解混淆数据发送至所述客户端。
17、根据本发明提供的一种数据混淆方法,所述web页面内容还包括js文件的信息,所述js文件用于承载js代码;所述响应于客户端发送的第一请求,将所述混淆后的js代码对应的解混淆数据发送至所述客户端之后,还包括:
18、响应于所述客户端发送的所述第一请求,从所述服务器中获取所述js文件;
19、将所述js文件中的js代码进行混淆,并将混淆后的js文件发送至所述客户端。
20、根据本发明提供的一种数据混淆方法,所述对所述js文件中的js代码进行混淆,包括:
21、若所述js文件的长度不为零,则确定所述js文件的类型;
22、若所述js文件的类型为文本方式的脚本文件,则获取预设链表中任一节点的标记位;所述标记位用于表示所述节点在所述预设链表中的位置;所述任一节点用于存储所述js文件的任一js代码段;
23、当存在目标节点,所述目标节点的标记位表征所述目标节点为所述预设链表中最后节点时,以节点为单位进行所述js文件的混淆,并将混淆后的js文件发送至所述客户端。
24、根据本发明提供的一种数据混淆方法,所述方法还包括:
25、在处理所述web页面内容或处理所述js文件中包括的响应头信息时,将所述web页面内容或所述js文件中的长度字段置空。
26、本发明提供了一种数据混淆方法,应用于客户端,所述客户端通过网页web应用防护系统和服务器连接,包括:
27、向所述网页web应用防护系统发送web页面内容请求;
28、接收所述网页web应用防护系统响应于所述web页面内容请求发送的web页面内容;
29、在所述web页面内容包括混淆后的js代码的情况下,向所述网页web应用防护系统发送第一请求;
30、接收所述混淆后的js代码对应的解混淆数据;所述解混淆数据由所述网页web应用防护系统响应于所述第一请求发送的;或,
31、在所述web页面内容包括js文件的信息的情况下,向所述网页web应用防护系统发送第二请求;
32、接收解混淆数据和所述js文件中的混淆后的js代码;所述解混淆数据和所述js文件中的混淆后的js代码由所述网页web应用防护系统响应于所述第二请求发送的;
33、利用所述解混淆数据对所述混淆后的js代码进行解混淆,并将解混淆后的js代码进行解析和加载。
34、根据本发明提供的一种数据混淆方法,所述web页面内容还包括js文件的信息,所述js文件用于承载js代码;
35、所述接收所述混淆后的js代码对应的解混淆数据之后,所述方法还包括:
36、接收所述网页web应用防护系统发送的js文件中混淆后的js代码。
37、根据本发明提供的一种数据混淆方法,所述利用所述解混淆数据对所述混淆后的js代码进行解混淆,并将解混淆后的js代码进行解析和加载,包括:
38、将解混淆数据对应的html文件名进行转换,得到所述解混淆数据所属的js文件名;
39、将所述js文件名的预设位和所述web页面内容的html文件名进行匹配,得到第二匹配结果;
40、在所述第二匹配结果表征成功时,利用所述解混淆数据对所述混淆后的js代码进行解混淆,并将解混淆后的js代码进行解析和加载。
41、本发明还提供了一种数据混淆装置,应用在网页web应用防护系统上,包括:第一发送模块、混淆模块和第一接收模块,其中:
42、所述第一接收模块,用于响应于客户端发送的web页面内容请求,从服务器获取web页面内容;
43、所述混淆模块,用于在所述web页面内容包括js代码的情况下,对所述js代码进行混淆;
44、所述第一发送模块,用于将混淆后的js代码发送至所述客户端;
45、所述第一发送模块,还用于响应于客户端发送的第一请求,将所述混淆后的js代码对应的解混淆数据发送至所述客户端;或,
46、所述第一发送模块,还用于在所述web页面内容仅包括js文件的信息,所述js文件用于承载js代码的情况下,将所述web页面内容发送至所述客户端;
47、所述第一发送模块,还用于响应于客户端发送的第二请求,将解混淆数据发送至所述客户端;
48、所述第一接收模块,还用于从所述服务器获取所述js文件;
49、所述混淆模块,还用于对所述js文件中的js代码进行混淆,并将混淆后的js代码发送至所述客户端。
50、本发明还提供了一种数据混淆装置,应用在客户端上,包括:第二发送模块、第二接收模块和解混淆模块,其中:
51、所述第二发送模块,用于向网页web应用防护系统发送web页面内容请求;
52、所述第二接收模块,用于接收所述网页web应用防护系统响应于所述web页面内容请求发送的web页面内容;
53、所述第二发送模块,还用于在所述web页面内容包括混淆后的js代码的情况下,向所述网页web应用防护系统发送第一请求;
54、所述第二接收模块,还用于接收所述混淆后的js代码对应的解混淆数据;所述解混淆数据由所述网页web应用防护系统响应于所述第一请求发送;或,
55、所述第二发送模块,还用于在所述web页面内容包括js文件的信息的情况下,向所述网页web应用防护系统发送第二请求;
56、所述第二接收模块,还用于接收所述网页web应用防护系统响应于所述第二请求发送的解混淆数据和js文件中的混淆后的js代码;
57、解混淆模块,用于利用所述解混淆数据对所述混淆后的js代码进行解混淆,并将解混淆后的js代码进行解析和加载。
58、本发明还提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述任一种所述的数据混淆方法。
59、本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据混淆方法。
60、本发明还提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述任一种所述的数据混淆方法。
61、本发明提供一种数据混淆方法、装置和电子设备,网页web应用防护系统分别和客户端以及服务器连接,在该方法中,网页web应用防护系统从服务器获取到web页面内容后,在web页面内容只包含js代码的情况下,对js代码进行混淆发送到客户端,之后响应客户端发送的第一请求,将混淆后的代码对应的解混淆数据发送到客户端;在web页面内容仅包括js文件的信息,js文件用于承载js代码的情况下,在将web页面内容发送至客户端后,响应于客户端发送的第二请求,将解混淆数据发送至客户端,并从服务器中获取js文件,将js文件中的js代码进行混淆并发送至客户端,促进了混淆后的js代码和解混淆数据分离,增加了破解的难度,提高了混淆的隐蔽性,从而防止代码被轻易复制盗用、通过漏洞实施攻击行为等,提高了代码的安全性。