[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

[vibeCoding]“完整性”属性错误解决

已经有一段时间了。
系统开发部门的Sujun越来越像公司内的AI人。简而言之
,我分享了使用AI进行VibeCoding时发生的错误。

有一天,CSS和JS停止加载。

单独文章中提到的铬扩展是基于AI和VibeCoding,但是
当我尝试导入与通常开发的PC不同的PC上的更改并检查操作时,我发现某些CSS和JS未加载。

我对源没有更改的现象感到非常困惑,并且正常显示在开发PC上。

实际错误内容

实际错误(复制)

无法在资源的“完整性”属性中找到有效的摘要。 'kku3+opzehmytvkhc2v4pqedefsyrkntoejtb44v+quk8+z3ubosur+7q3tdf4rn'。资源已被阻止。

我进行了Google搜索错误,但找不到任何可以帮助解决我的情况的信息。

解决问题的最佳方法是询问实施者。

我问AI。显然,这是在下面的代码中发生的。

<link href="../lib/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">

正直

显然原因是。有人告诉我这个。

什么是完整性属性?

完整性属性似乎用于验证尚未篡改的资源的完整性。
通过将资源的哈希值分配为属性,请检查浏览器获得的资源的哈希值与完整性属性中设置的哈希值之间是否存在差异。

识别和解决发生的原因

这次,我遵循以下步骤解决问题。


  1. 我比较了源代码比较
  2. 过滤后的
    文件在服务器或PC之间传输时,由于“编码的差异”,浏览器负载时的内容有所不同。
  3. 检查编码
    时,当我检查每个文件的编码时,我确认开发PC是LF,另一个PC为CRLF。
  4. 检查校正
    作为对校正的响应,我们已经确认数据通过将另一个PC更改为LF正确加载了数据。

奖励:产生哈希

以下命令可以为指定文件生成哈希值:
请参考MDN子资源完整性

猫文件名| OpenSSL DGST -SHA384 -BINARY | OpenSSL base64 -a

在我的环境中,上述命令没有给出预期的哈希值,但是我能够使用以下命令来创建它。

//常规版$ filecontent = get -content -path文件路径-Ancoding byte $ hash = [System.Security.Cryptography.sha384] :: create()。create()。computehash($ fileContent)[convert] :: tobase64string($ hash)($ hash) 9ndcyuaibzai2fuvxji0cjmcapsmo7snpjef0486qhlnuz2cderho02iuk6fuuvm // 1行版本[convert] :: tobase64string([System.Security.Cryptography.sha384] :: create()。computehash([System..io.file] :: ReadAllBytes(“ filepath”)) 9ndcyuaibzai2fuvxji0cjmcapsmo7snpjef0486qhlnuz2cderho02iuk6fuuvm

概括

从这种情况下,我们了解了以下几点:

  • 使用完整性属性的资源验证函数的存在。
  • 即使对于具有相同内容的资源,编码(CRLF与LF)的差异会影响哈希值
  • 设置的小差异可能导致大错误,因此您需要注意环境之间的差异

VibeCoding很有趣,但是仅凭AI支持就很难解决类似的问题。这是重申基础知识重要性的绝佳机会。
我希望这篇文章对您有所帮助!

如果您觉得这篇文章有帮助,请点赞!
5
加载中...
5 票,平均:1.00 / 15
143
X Facebook 哈特纳书签 口袋
[网络研讨会] 多云入门:哪种云最适合您的业务?获取八大主流云的最新资讯!

[网络研讨会] 多云入门:哪种云最适合您的业务?获取八大主流云的最新资讯!

[网络研讨会]从操作结构到特定步骤!云服务器操作和维护的完整概述

[网络研讨会]从操作结构到特定步骤!云服务器操作和维护的完整概述

写这篇文章的人

关于作者

苏俊

过去,我在一家游戏公司工作,制作游戏。
我的爱好是编程和游戏(LoL等)。
我喜欢迪士尼的费加罗!