今回のコメントは加藤小夏さんの『The Day Room』第1期のコメント欄から抜粋したもので、面白くて笑えると思って持ってきました。
(あくまで中国のネットユーザーによる冗談ですので、真に受けないでください!) #加藤小夏
原文 #加藤小夏
''
Skip to main content
git reset --hard 之后,之前的提交就彻底消失了。其实,Git 里的提交对象和分支名是两回事:提交本身通常不会被修改,分支只是一个指向某个提交的可移动指针。git reflog 记录的正是这些指针曾经指向过哪里。执行 git reflog,你可能会看到类似 reset: moving to HEAD~3 的记录,以及操作前的提交哈希。找到目标哈希后,就可以用 git reset --hard <commit-hash> 把分支指针移回去;如果只是担心再次操作失误,也可以先用 git branch rescue <commit-hash> 建一个临时分支。git push 上传到远程仓库。换一台机器,或者仓库长期没有访问导致过期记录被清理,就不一定还能找到它。发现误操作后,越早查看 reflog,恢复成功的机会越大。git reset --hard HEAD~3,想找回 reset 之前的分支位置,最可靠的做法是什么? git refloggit reset --hard <那个哈希>git log 展示提交历史,而 git reflog 展示本地分支和 HEAD 指针的移动记录,后者不是远程共享日志。127.0.0.1、云平台元数据地址或内部管理接口,就可能读取敏感信息、调用高权限服务,甚至进一步控制主机。https://,并检查 URL 主机名不包含 localhost。攻击者提交一个外部 URL,服务端跟随 302 跳转到 http://169.254.169.254/,随后返回云主机临时凭证。最关键的漏洞点是什么,优先修哪两层?sig = SHA-256(secret + message),服务器收到请求后自己重算一遍比对,一致就认定是可信来源发的。乍看没毛病,secret 藏在里面,攻击者不知道密钥就算不出合法签名。问题出在哈希算法自身的结构上。md5(secret + 参数),攻击者用一个合法请求的签名就能伪造出带额外参数的请求签名。今天仍能看到不少自研 Webhook 签名、游戏防作弊校验在用这种拼串哈希,几乎一测一个准。hash(secret + message) 的变体。正经平台的 Webhook 签名(比如 Stripe)用的就是 HMAC-SHA256,不是没有原因的。sign = sha256(secret + "user=alice&price=100") 做签名,你截获了一个合法请求,参数和 sign 都可见。能否在不知道 secret 的情况下,伪造出追加 &discount=90(打一折)的请求并算出合法签名?hash(secret + message) 会把哈希内部状态整个交出去,消息完整性校验请认准 HMAC。