[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">
这
正直
显然原因是。有人告诉我这个。
什么是完整性属性?
完整性属性似乎用于验证尚未篡改的资源的完整性。
通过将资源的哈希值分配为属性,请检查浏览器获得的资源的哈希值与完整性属性中设置的哈希值之间是否存在差异。
识别和解决发生的原因
这次,我遵循以下步骤解决问题。
我比较了源代码比较- 过滤后的
文件在服务器或PC之间传输时,由于“编码的差异”,浏览器负载时的内容有所不同。 - 检查编码
时,当我检查每个文件的编码时,我确认开发PC是LF,另一个PC为CRLF。 - 检查校正
作为对校正的响应,我们已经确认数据通过将另一个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支持就很难解决类似的问题。这是重申基础知识重要性的绝佳机会。
我希望这篇文章对您有所帮助!
如果您觉得这篇文章有帮助,请点赞!