[发明专利]一种HTML前端JS代码防修改防调试的方法在审
申请号: | 202111550891.4 | 申请日: | 2021-12-17 |
公开(公告)号: | CN114238872A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 李兴平;肖显斌 | 申请(专利权)人: | 四三九九网络股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F9/48;G06F16/958 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 席小东 |
地址: | 361009 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 html 前端 js 代码 修改 调试 方法 | ||
本发明提供一种HTML前端JS代码防修改防调试的方法,包括以下步骤:每当浏览器加载并执行一个JavaScript文件时,并行执行防修改方式判断逻辑和防调试方式判断逻辑。其中,防修改方式判断逻辑基于JavaScript文件的MD5值比较进行;防调试方式判断逻辑,基于定时器定时产生携带时间戳的回调任务进行。具有以下优点:(1)在原有的JavaScript文件混淆,加密的基础上,增加文件md5值比较的判断,可以防止代理工具修改JavaScript文件内容。(2)在浏览器运行时,通过加入定时器和相关判断逻辑,防止JavaScript代码被浏览器的开发者工具等进行断点调试。
技术领域
本发明属于软件运行技术领域,具体涉及一种HTML前端JS代码防修改防调试的方法。
背景技术
网页页面呈现原理主要为:浏览器运行HTML标签文件,CSS样式文件和JS(JavaScript)代码文件,从而呈现最终的网页页面。
现有技术中,经常出现利用浏览器的开发者工具或代理调试工具,从而断点调试或修改JavaScript代码内容,改变网页页面,损害浏览器网页页面者的相关权益。
发明内容
针对现有技术存在的缺陷,本发明提供一种HTML前端JS代码防修改防调试的方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种HTML前端JS代码防修改防调试的方法,包括以下步骤:
步骤1,浏览器具有多个JavaScript文件;计算每个JavaScript文件的MD5值;
预先设置MD5值记录表,所述MD5值记录表用于记录每个JavaScript文件的文件ID和MD5值的映射关系;
步骤2,每当浏览器加载并执行一个JavaScript文件时,并行执行步骤3和步骤4;
步骤3,防修改方式:
步骤3.1,浏览器向防修改模块发送防修改请求;
步骤3.2,所述防修改模块重新加载所述JavaScript文件,计算所述JavaScript文件的MD5值;
步骤3.3,所述防修改模块比对步骤3.2计算得到的MD5值,是否与MD5值记录表记录的相同JavaScript文件的MD5值相同,如果相同,则代表所述JavaScript文件正常未被修改,结束流程;如果不相同,则代表所述JavaScript文件已被修改,则执行步骤5;
步骤4,防调试方式:
在浏览器加载并执行JavaScript文件的过程中,异步启动定时器,所述定时器的定时时间间隔为ΔT1;
在未被断点调试时,每隔时间间隔ΔT1,所述定时器输出一个携带时间戳的异步任务,由此形成异步任务队列;
在被断点调试时,在断点调试的时间过程中,所述定时器被暂停,因此,经过大于时间ΔT1的时间间隔,所述定时器才输出携带时间戳的异步任务,由此形成异步任务队列;
在异步任务队列中,每相邻两个异步任务的时间戳均计算差值,得到时间差ΔT2;比较时间差ΔT2和时间间隔ΔT1,如果ΔT2-ΔT1>ε,则代表此次计算的两个异步任务之间的时间段发生断点调试问题,执行步骤5;否则,代表此次计算的两个异步任务之间的时间段未发生断点调试问题;继续对其他异步任务进行断点调试的判断过程;
步骤5,当检测到JavaScript文件被修改或被断点调试时,执行浏览器加载JavaScript文件的异常处理过程。
优选的,步骤4具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四三九九网络股份有限公司,未经四三九九网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111550891.4/2.html,转载请声明来源钻瓜专利网。