CN114189374A - 资源校验方法及装置 - Google Patents
资源校验方法及装置 Download PDFInfo
- Publication number
- CN114189374A CN114189374A CN202111461729.5A CN202111461729A CN114189374A CN 114189374 A CN114189374 A CN 114189374A CN 202111461729 A CN202111461729 A CN 202111461729A CN 114189374 A CN114189374 A CN 114189374A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- hash value
- attribute value
- data resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供的一种资源校验方法及装置,该方法包括:当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;应用加密算法,计算目标数据资源的第二目标哈希值;判断第一目标哈希值与第二目标哈希值是否一致;若是,则向用户反馈目标数据资源。应用本发明提供的方法,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种资源校验方法及装置。
背景技术
使用内容分发网络(CDN)在多个站点之间共享脚本和样式表等文件可以提高站点性能并节省带宽。然而,使用CDN也存在风险,如果攻击者获得对CDN的控制权,则可以将任意恶意内容注入到CDN上的文件中或完全替换掉文件,因此可能潜在地攻击所有从该CDN获取文件的站点。
现有技术中,当CDN出现内部错误或者攻击者获得对CDN的控制权,则可以将任意恶意内容注入到CDN上的多媒体文件中或完全替换掉图片,音视频等多媒体文件,用户通过Web浏览器访问网站时有可能遭受攻击,加载到错误,或者恶意的图片,音视频等多媒体内容。
发明内容
有鉴于此,本发明提供一种资源校验方法,通过该方法,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
本发明还提供了一种资源校验装置,用以保证上述方法在实际中的实现及应用。
一种资源校验方法,包括:
当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断所述第一目标哈希值与所述第二目标哈希值是否一致;
若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
上述的方法,可选的,还包括:
获取当前上传的初始数据资源及所述初始数据资源的资源信息;
将所述初始数据资源及所述资源信息发送至所述服务器,使得所述服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点;所述服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
上述的方法,可选的,所述基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值,包括:
确定预设的第二端口,并启动所述第二端口对应的选择器;
应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
上述的方法,可选的,所述基于所述第二属性值及预设的第一端口,异步获取所述服务器中CDN节点存储的所述资源请求对应的目标数据资源,包括:
基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址;
通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求;
当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区;
从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
上述的方法,可选的,所述判断所述第一目标哈希值与所述第二目标哈希值是否一致,包括:
对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
一种资源校验装置,包括:
第一获取单元,用于当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
第二获取单元,用于基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析单元,用于解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
第三获取单元,用于基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
计算单元,用于应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断单元,用于判断所述第一目标哈希值与所述第二目标哈希值是否一致;
反馈单元,用于若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
上述的装置,可选的,还包括:
第四获取单元,用于获取当前上传的初始数据资源及所述初始数据资源的资源信息;
发送单元,用于将所述初始数据资源及所述资源信息发送至所述服务器,使得所述服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点;所述服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
上述的装置,可选的,所述第二获取单元,包括:
启动子单元,用于确定预设的第二端口,并启动所述第二端口对应的选择器;
查询子单元,用于应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
第一获取子单元,用于基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
上述的装置,可选的,所述第三获取单元,包括:
确定子单元,用于基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址;
连接子单元,用于通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求;
第二获取子单元,用于当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区;
第三获取子单元,用于从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
上述的装置,可选的,所述判断单元,包括:
编码子单元,用于对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断子单元,用于判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的资源校验方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的资源校验方法。
与现有技术相比,本发明包括以下优点:
本发明提供的一种资源校验方法,包括:当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;应用所述加密算法,计算所述目标数据资源的第二目标哈希值;判断所述第一目标哈希值与所述第二目标哈希值是否一致;若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。应用本发明提供的方法,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种资源校验方法的方法流程图;
图2为本发明实施例提供的一种资源校验方法的又一方法流程图;
图3为本发明实施例提供的一种资源校验方法的再一方法流程图;
图4为本发明实施例提供的一种资源校验装置的装置结构图;
图5为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种资源校验方法,该方法可以应用在多种***平台,其执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:
S101:当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素。
在本发明中,当用户需要访问图片、音频或视频等数据源时,发送该资源对应的资源请求,并根据该资源请求获取对应的子资源元素。
其中,子资源元素与待获取的目标数据资源的资源类型相关,每个资源类型的数据资源其对应的资源标签均不相同,例如,图片资源对应的标签为<img>,音频资源的标签为<audio>,视频资源的标签为<video>等。当待获取的目标数据资源为图片时,该子资源元素为<img>元素。
具体的,将资源请求转发给服务器,服务器响应该请求后返回子资源元素。
S102:基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值。
需要说明的是,具体的,通过文档对象模型Document提供的方法querySelector()获取到指定了data-integrity属性值的资源元素,该资源元素可以是图片元素、音频元素或视频元素。
其中,第一属性值和第二属性值为资源的自定义数据属性,具体分别为data-integrity及data-src属性值。
S103:解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值。
需要说明的是,第一属性值中包含加密算法和待获取的目标数据资源的第一目标哈希值。
具体的,第一属性值分为两个部分,第一部分指定哈希值的生成算法(SHA-256、SHA-384以及SHA-512),第二部分是经过Base64编码的文件哈希值,两者之间通过一个短横线(-)分隔。通过调用字符串的split(‘-’)方法可以获取到哈希算法,以及Base64编码过的文件哈希值,该哈希算法实际为解析第一属性值获得的加密算法。
S104:基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源。
需要说明的是,CDN***包含多个CDN节点,各个CDN节点用于存储数据资源,该资源请求中包含待获取的数据资源的URL地址,连接该URL地址对应的CDN节点,获取节点中存储的目标数据资源。
具体的,第一端口为fetch API,使用fetch API根据src值异步获取目标数据资源。
可选的,如果获取失败抛出网络错误,反之,如果获取目标数据资源成功,fetchAPI会返回一个包含了Response对象的promise值,调用Response.arrayBuffer()方法,可以获取到ArrayBuffer对象表示的响应主体,ArrayBuffer是一个字节数组,用来表示通用的,固定长度的原始二进制数据缓冲区。
S105:应用所述加密算法,计算所述目标数据资源的第二目标哈希值。
可以理解的是,为避免获取的目标数据资源在传输过程中被篡改,需要再次验证获得的目标数据资源。通过再次对目标数据资源进行计算,进而获得第二目标哈希值。
S106:判断所述第一目标哈希值与所述第二目标哈希值是否一致。
可以理解的是,验证目标数据资源是否被篡改。若是,则执行S107,反之,则返回错误。
S107:若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
本发明实施例提供的方法中,当用户需要获取资源时,发送资源请求,浏览器在接收到资源请求后获取服务器中资源请求对应的子资源元素,该资源请求中包含待获取的目标数据资源的存储地址,该存储地址为URL地址,基于子资源元素获取待获取的目标数据资源的第一属性值和第二属性值。第一属性值由加密算法和哈希值构成,解析第一属性值,获得服务器应用的加密算法以及待获取的目标数据资源的第一目标哈希值,第一目标哈希值为待获取的目标数据资源的真实的哈希值。通过第二属性值及预设端口获取目标数据资源。应用加密算法计算目标数据资源的第二目标哈希值,判断两个哈希值是否一致,若一致则表征目标数据资源在传输过程中未受到攻击和篡改。
应用本发明实施例提供的方法,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
参考图2,本发明实施例提供的方法中,CDN节点用于存储数据资源,后台技术人员可以根据需求上传数据资源存储至CDN节点,因此,在接收到资源请求前,需要预先设置数据资源的第一属性值和第二属性值,以便于在接收到资源请求后执行上述S101至S107的过程实现对数据资源的校验,设置数据资源的第一属性值和第二属性值的具体过程包括:
S201:浏览器获取当前上传的初始数据资源及所述初始数据资源的资源信息。
其中,资源信息中包含存储地址。
可以理解的是,当需要将任意的数据资源存储至CDN***的任意CDN节点时,用户将数据资源上传至浏览器,浏览器获取用户上传的待存储至CDN节点的数据资源,将该数据资源作为初始数据资源。
S202:浏览器将所述初始数据资源及所述资源信息发送至所述服务器。
S203:服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点。
需要说明的是,该初始哈希值为用户进行资源请求时,服务器根据该资源请求发送的第一目标哈希值。
S204:服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
需要说明的是,第一属性值是数据资源的标签中的自定义属性data-integrity,该属性的值即服务端下发的文件摘要;第二属性值是数据资源的标签中的自定义属性data-src,该属性的值是图片的URL地址。其中,integrity属性值分为两个部分,第一部分指定哈希值的生成算法(SHA-256、SHA-384以及SHA-512),第二部分是经过Base64编码的文件哈希值,两者之间通过一个短横线(-)分隔,通过调用字符串的split(‘-’)方法可以获取到哈希算法,以及Base64编码过的文件哈希值。
本发明实施例提供的方法中,在Linux服务器上使用openssl对多媒体资源文件生成一个Base64编码的哈希值。例如,在网页中对引用图片的<img>标签通过HTML自定义数据属性(data-*)添加data-src及data-integrity属性值。用户在加载网页后,通过发送资源请求的方式获得数据资源。
具体的,浏览器获取上传的初始数据资源及初始数据资源的资源信息,并将初始数据资源及初始数据资源的资源信息发送给服务器。由服务器应用其当前支持的加密算法计算该初始数据资源的初始哈希值,并将该初始哈希值和加密算法设定为第一属性值。服务器从资源信息中获取存储地址,并将初始数据资源存储至存储地址对应的CDN节点,设置该存储地址为第一属性值。在后续接收到该初始数据资源对应的资源请求时,执行上述S101至S107的过程。
本发明实施例提供的方法中,所述基于所述资源元素,获取所述资源请求对应的第一属性值和第二属性值,包括:
确定预设的第二端口,并启动所述第二端口对应的选择器;
应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
具体的,第二端口为HTMLElement,通过HTMLElement端口定义的dataset属性,获取资源元素中的src,integrity值。
需要说明的是,资源元素为待获取的数据资源的组成部分。
参考图3,在本发明实施例中,所述基于所述第二属性值及预设的第一端口,异步获取所述服务器中CDN节点存储的所述资源请求对应的目标数据资源,包括:
S301:基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址。
其中,第二属性值由存储地址构成。
S302:通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求。
在本发明实施例中,该资源获取请求为符合CDN节点支持的请求格式的资源请求。即,将该资源请求按照CDN节点支持的请求格式进行格式转换,获得资源获取请求。
需要说明的是,该预设的第一端口为fetchAPI接口。
S303:当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区。
可以理解的是,CDN节点在接收到资源获取请求后,解析该资源获取请求获得第二属性值,并查询与该第二属性值相匹配的数据资源。该CDN节点通过连接接口反馈携带有目标数据资源的响应信息。该响应信息中的阵列缓冲区为ArrayBuffer。
S304:从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
本发明实施例中,获取图片资源成功时,fetch API会返回一个包含了Response对象的promise值,调用Response.arrayBuffer()方法,可以获取到ArrayBuffer对象表示的响应主体,ArrayBuffer是一个字节数组,用来表示通用的,固定长度的原始二进制数据缓冲区。
具体的,在获得目标数据资源后,需要计算该目标数据资源的第二目标哈希值,并判断第一目标哈希值与第二目标哈希值是否一致。在判断过程中实际为两个ASCII字符串之间的比较,具体为:
对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
通过比较两个ASCII字符串是否一致来确定目标数据资源是否被攻击或篡改,若是,则向用户抛出目标数据资源资源错误,若否则正常向用户反馈目标数据资源。
具体的,如果两个ASCII字符串相同,则使用URL.createObjectURL方式或者直接设置目标数据资源的src属性值,正常向用户反馈数据资源。
应用本发明实施例提供的方法,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种资源校验装置,用于对图1中方法的具体实现,本发明实施例提供的资源校验装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
第一获取单元401,用于当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
第二获取单元402,用于基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析单元403,用于解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
第三获取单元404,用于基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
计算单元405,用于应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断单元406,用于判断所述第一目标哈希值与所述第二目标哈希值是否一致;
反馈单元407,用于若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
本发明实施例提供的装置中,当用户需要获取资源时,发送资源请求,浏览器在接收到资源请求后获取服务器中资源请求对应的子资源元素,该资源请求中包含待获取的目标数据资源的存储地址,该存储地址为URL地址,基于子资源元素获取待获取的目标数据资源的第一属性值和第二属性值。第一属性值由加密算法和哈希值构成,解析第一属性值,获得服务器应用的加密算法以及待获取的目标数据资源的第一目标哈希值,第一目标哈希值为待获取的目标数据资源的真实的哈希值。通过第二属性值及预设的第一端口获取目标数据资源。应用加密算法计算目标数据资源的第二目标哈希值,判断两个哈希值是否一致,若一致则表征目标数据资源在传输过程中未受到攻击和篡改。
应用本发明实施例提供的装置,可以对待反馈的数据资源进行校验,避免资源加载错误或者受到恶意的数据资源。
本发明实施例提供的装置中,还包括:
第四获取单元,用于获取当前上传的初始数据资源及所述初始数据资源的资源信息;
发送单元,用于将所述初始数据资源及所述资源信息发送至所述服务器,使得所述服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点;所述服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
本发明实施例提供的装置中,所述第二获取单元402,包括:
启动子单元,用于确定预设的第二端口,并启动所述第二端口对应的选择器;
查询子单元,用于应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
第一获取子单元,用于基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
本发明实施例提供的装置中,所述第三获取单元405,包括:
确定子单元,用于基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址;
连接子单元,用于通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求;
第二获取子单元,用于当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区;
第三获取子单元,用于从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
本发明实施例提供的装置中,所述判断单元407,包括:
编码子单元,用于对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断子单元,用于判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
以上本发明实施例公开的资源校验装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的资源校验方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述资源校验方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断所述第一目标哈希值与所述第二目标哈希值是否一致;
若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种资源校验方法,其特征在于,包括:
当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断所述第一目标哈希值与所述第二目标哈希值是否一致;
若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取当前上传的初始数据资源及所述初始数据资源的资源信息;
将所述初始数据资源及所述资源信息发送至所述服务器,使得所述服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点;所述服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
3.根据权利要求1所述的方法,其特征在于,所述基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值,包括:
确定预设的第二端口,并启动所述第二端口对应的选择器;
应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二属性值及预设的第一端口,异步获取所述服务器中CDN节点存储的所述资源请求对应的目标数据资源,包括:
基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址;
通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求;
当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区;
从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
5.根据权利要求1所述的方法,其特征在于,所述判断所述第一目标哈希值与所述第二目标哈希值是否一致,包括:
对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
6.一种资源校验装置,其特征在于,包括:
第一获取单元,用于当接收到用户的资源请求时,获取服务器中所述资源请求对应的子资源元素;
第二获取单元,用于基于所述子资源元素,获取所述子资源元素的第一属性值和第二属性值;
解析单元,用于解析所述第一属性值,获得所述服务器应用的加密算法及待获取的目标数据资源的第一目标哈希值;
第三获取单元,用于基于所述第二属性值及预设的第一端口,异步获取预设的内容分发网络CDN节点存储的所述资源请求对应的目标数据资源;
计算单元,用于应用所述加密算法,计算所述目标数据资源的第二目标哈希值;
判断单元,用于判断所述第一目标哈希值与所述第二目标哈希值是否一致;
反馈单元,用于若所述第一目标哈希值与所述第二目标哈希值一致,则向所述用户反馈所述目标数据资源。
7.根据权利要求6所述的装置,其特征在于,还包括:
第四获取单元,用于获取当前上传的初始数据资源及所述初始数据资源的资源信息;
发送单元,用于将所述初始数据资源及所述资源信息发送至所述服务器,使得所述服务器应用所述加密算法计算所述初始数据资源对应的初始哈希值,并基于所述资源信息包含的所述初始数据资源对应的存储地址,将所述初始数据资源存储至所述存储地址对应的CDN节点;所述服务器将所述初始哈希值及所述加密算法设为所述初始数据资源的第一属性值,将所述存储地址设为所述初始数据资源的第二属性值。
8.根据权利要求6所述的装置,其特征在于,所述第二获取单元,包括:
启动子单元,用于确定预设的第二端口,并启动所述第二端口对应的选择器;
查询子单元,用于应用所述选择器,查询预先存储的与所述子资源元素相匹配的资源信息;
第一获取子单元,用于基于所述资源信息,获取所述子资源元素的第一属性值和第二属性值。
9.根据权利要求6所述的装置,其特征在于,所述第三获取单元,包括:
确定子单元,用于基于所述第二属性值,确定所述待获取的目标数据资源对应的目标存储地址;
连接子单元,用于通过所述预设的第一端口连接所述目标存储地址对应的CDN节点,生成所述资源请求对应的资源获取请求,并通过所述预设的第一端口向所述CDN节点发送所述资源获取请求;
第二获取子单元,用于当接收到所述CDN节点反馈的响应信息时,调用预设的响应语句,获取所述响应信息中包含的阵列缓冲区;
第三获取子单元,用于从所述阵列缓冲区中获取所述资源请求对应的目标数据资源。
10.根据权利要求6所述的装置,其特征在于,所述判断单元,包括:
编码子单元,用于对所述第一目标哈希值及所述第二目标哈希值进行Base64编码,获得所述第一目标哈希值对应的第一ASCII字符串,及所述第二目标哈希值对应的第二ASCII字符串;
判断子单元,用于判断所述第一ASCII字符串与所述第二ASCII字符串是否一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111461729.5A CN114189374A (zh) | 2021-12-02 | 2021-12-02 | 资源校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111461729.5A CN114189374A (zh) | 2021-12-02 | 2021-12-02 | 资源校验方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114189374A true CN114189374A (zh) | 2022-03-15 |
Family
ID=80542025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111461729.5A Pending CN114189374A (zh) | 2021-12-02 | 2021-12-02 | 资源校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114189374A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582907A (zh) * | 2018-12-06 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 网页资源完整性的校验方法、装置、设备及可读存储介质 |
CN109934014A (zh) * | 2019-02-15 | 2019-06-25 | 福建天泉教育科技有限公司 | 一种检测资源文件正确性的方法及终端 |
CN113342745A (zh) * | 2021-07-06 | 2021-09-03 | 中国光大银行股份有限公司 | 一种镜像文件的校验方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-02 CN CN202111461729.5A patent/CN114189374A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582907A (zh) * | 2018-12-06 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 网页资源完整性的校验方法、装置、设备及可读存储介质 |
CN109934014A (zh) * | 2019-02-15 | 2019-06-25 | 福建天泉教育科技有限公司 | 一种检测资源文件正确性的方法及终端 |
CN113342745A (zh) * | 2021-07-06 | 2021-09-03 | 中国光大银行股份有限公司 | 一种镜像文件的校验方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767775B (zh) | 网页应用消息推送方法及*** | |
CN112073405B (zh) | 网页数据加载方法、装置、计算机设备及存储介质 | |
US11886619B2 (en) | Apparatus and method for securing web application server source code | |
CN109582644B (zh) | 文件存储方法、装置、设备及计算机可读存储介质 | |
CN110651252A (zh) | 内容管理***扩展 | |
US9684628B2 (en) | Mechanism for inserting trustworthy parameters into AJAX via server-side proxy | |
WO2016101635A1 (zh) | 一种同步登录状态的方法、装置、设备和计算机存储介质 | |
CN107911222B (zh) | 数字签名生成、验证方法及其设备和存储介质 | |
US20140082154A1 (en) | File sharing method, terminal and relay server | |
CN104468843A (zh) | 一种文件上传方法及装置 | |
US20150319221A1 (en) | Tracing business transactions based on application frameworks | |
CN108737252B (zh) | 基于区块链的信息推送方法及装置 | |
CN112261111A (zh) | 一种应用程序内浏览器跨域访问实现方法及*** | |
US8381269B2 (en) | System architecture and method for secure web browsing using public computers | |
CN111935107B (zh) | 身份认证的方法及装置、***、电子设备、存储介质 | |
TW201929507A (zh) | 物件上傳方法及裝置 | |
US8793326B2 (en) | System, method and computer program product for reconstructing data received by a computer in a manner that is independent of the computer | |
EP2760183A1 (en) | System for detecting hyperlink faults | |
CN111782244A (zh) | 配置文件的更新方法、装置、计算机设备及存储介质 | |
CN114189374A (zh) | 资源校验方法及装置 | |
US9191392B2 (en) | Security configuration | |
CN115733685A (zh) | Web会话认证管理方法、装置、计算机设备及存储介质 | |
CN108737350B (zh) | 一种信息处理方法及客户端 | |
CN109302446B (zh) | 跨平台访问方法、装置、电子设备及存储介质 | |
CN112948727A (zh) | 基于WebView的数据注入方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |