清掉工作区最后两处明文密码 + 加 .gitignore 规则

演练 scrub_password_history.sh 时抓出来的:

1. _build/rotate_password.sh —— **我自己写的脚本**,
   为了测「老密码应该登不上」,把老密码写进去了。
   改成从 OLD_ADMIN_PASSWORD 环境变量取,不设就跳过。
   (又一次证明:写测试的时候很容易顺手把秘密抄进去)

2. _build/_hdr_data/data/admin_password.txt —— 测试数据文件,
   居然被 git 跟踪着。已 git rm --cached。

3. .gitignore 加了规则,以后 admin_password.txt 进不来:
       admin_password.txt
       *admin_password*.txt
       /_build/_hdr_data/
       /_build/relay_info.json

现在工作区搜不到明文密码了,只剩 git 历史里那 7 个提交
(等用户确认后再做历史重写 + 强制推送)。
This commit is contained in:
xmz7891
2026-10-07 20:50:25 +08:00
parent 237aeeb580
commit e1c04d617a
4 changed files with 130 additions and 11 deletions
+17 -9
View File
@@ -50,17 +50,25 @@ else
fi
rm -f /tmp/ck.txt
# 老密码应该登不上
code2=$(curl -s --max-time 15 -o /dev/null -w '%{http_code}' \
-c /tmp/ck2.txt \
-d "username=xmz7891&password=@REVAedu120830" \
"http://127.0.0.1:8080/admin/login" 2>/dev/null)
if grep -q lr_admin /tmp/ck2.txt 2>/dev/null; then
echo " ✗ **老密码还能登录**(有问题)"
# 老密码应该登不上。
# ⚠ 这里**不能把老密码写进来** —— 这个脚本会进仓库,
# 写进来就等于又泄漏一次(我第一版就是这么干的,
# 被 _build/scrub_password_history.sh 的演练抓出来了)。
# 改成从环境变量取,不设就跳过这项检查。
if [ -n "${OLD_ADMIN_PASSWORD:-}" ]; then
code2=$(curl -s --max-time 15 -o /dev/null -w '%{http_code}' \
-c /tmp/ck2.txt \
-d "username=xmz7891&password=$OLD_ADMIN_PASSWORD" \
"http://127.0.0.1:8080/admin/login" 2>/dev/null)
if grep -q lr_admin /tmp/ck2.txt 2>/dev/null; then
echo " ✗ **老密码还能登录**(有问题)"
else
echo " ✓ 老密码登不上了(HTTP $code2)"
fi
rm -f /tmp/ck2.txt
else
echo " ✓ 老密码登不上了(HTTP $code2)"
echo " ⊘ 跳过「老密码应失效」检查(没设 OLD_ADMIN_PASSWORD)"
fi
rm -f /tmp/ck2.txt
echo
echo " ── 5. 中转日志最后 5 行 ──"