wangairnan
|
3105b0415c
|
fix(middleware): Origin 同源校验增加 scheme 比对
http/https 不再视为同源;可信反代后采信 X-Forwarded-Proto(round2 P2-11),补测试。
|
2026-09-08 17:32:57 +08:00 |
|
wangairnan
|
1272d680a8
|
fix(httpapi): no-store 接线、图片缓存头时序、解压炸弹上限与 RSS 空日期
/api/admin/* 挂 NoStore、/api/me 内联 no-store(P1-3); 图片缓存头移至数据读取成功后,404 不携带 public immutable(P2-9); 上传先 DecodeConfig 限制像素 ≤2^25 再解码(P2-12); 无公开笔记时省略 lastBuildDate(P2-10)。
|
2026-09-08 17:32:52 +08:00 |
|
wangairnan
|
ba7d5dd01f
|
fix(auth): VerifyPassword 校验 PHC 参数上下界
t/p=0 会使 argon2.IDKey panic、m 超大可 OOM;越界一律返回 false(round2 P2-8),补畸形参数用例。
|
2026-09-08 17:32:52 +08:00 |
|
wangairnan
|
a35e7fdfd3
|
fix(cmd): 维护子命令改经 OpenData 打开,--allow-newer 仅限 start/init
passwd/backup/gc 不再触发迁移与 user_version 守卫,回滚旧二进制场景备份仍可用(round2 P1-5,落实 D6)。
|
2026-09-08 17:32:52 +08:00 |
|
wangairnan
|
132c4a1ba2
|
fix(store): 修正邻接查询、GC 竞态、备份权限与设置解析,新增 OpenData 纯数据打开
邻接查询 tie-break 与 pinned 排序键与列表序对齐,补表驱动测试(round2 P1-1); GC DELETE 带条件复查,防 SELECT 与 DELETE 间恢复/引用竞态(P2-6); 备份经 umask 收紧创建即 0600,消除 chmod 前暴露窗口(P2-7); page_size 改 strconv.Atoi 全文解析,拒部分解析脏值(P2-13); OpenData 不迁移、不做版本守卫(D6/P1-5)。
|
2026-09-08 17:32:47 +08:00 |
|
wangairnan
|
edfc787e1a
|
二进制及自命令命名统一简化
|
2026-09-08 17:01:09 +08:00 |
|
wangairnan
|
2d02756fa3
|
新增 reset-password 子命令:免旧口令重设管理员口令并吊销全部会话
|
2026-09-08 16:10:16 +08:00 |
|
wangairnan
|
4cba55f472
|
修复标签过滤查询:json_each 引用别名 n.tags,修复 /api/notes?tag= 500
|
2026-09-08 15:27:48 +08:00 |
|
wangairnan
|
6e83426ca9
|
HTTP 层与单二进制入口:路由 handler、会话/CSRF/限流防线、SPA 嵌入与 meta 注入
- internal/httpapi:§7.1 全部路由(公开浏览 / 管理端 / 认证 / feed),
服务端统一可见性过滤(含回收站仅 admin 出口)、图片魔数校验与
immutable/no-store 缓存头分流、统一 404 防枚举、slug 自解冲突与
409 字段级错误、fail-only 登录限流(429 + Retry-After)、
设置白名单(永不序列化口令哈希)
- internal/webui:go:embed dist + SPA fallback(资产指纹长缓存、
深链回退 index.html)+ html/template 元信息注入(仅可见笔记)
- cmd/pure-note:serve/init/backup/gc/version 子命令,优雅停机与
每小时会话清理
- 含全部 §13 测试组:表驱动可见性矩阵、迁移守卫、认证会话、CSRF、
上传、回收站/gc、slug 策略、设置白名单、webui MapFS 单测
|
2026-09-08 08:14:23 +08:00 |
|
wangairnan
|
247e88c4fb
|
后端基础层:模块定义、配置解析、SQLite 存储层、Argon2id 认证与 Markdown 渲染
- internal/config:serve/init/backup/gc 子命令参数解析(--dev 强制 loopback 守卫)
- internal/store:user_version 版本化迁移(仅追加式 + 越界拒启 + --allow-newer)、
笔记/图片/引用/会话/设置 DAO、并集可见性查询、VACUUM INTO 在线备份、
回收站 30 天 + 孤儿图 7 天宽限 gc
- internal/auth:Argon2id PHC 串(m=19456,t=2,p=1)、256bit token 与 SHA-256 摘要
- internal/markdown:goldmark(默认转义)+ bluemonday 双保险,摘要纯文本提取
- internal/middleware:安全头(CSP/HSTS/nosniff 等)、错误日志、
有界令牌桶限流(per-IP 桶上限 + TTL 逐出)、Origin/Referer 同源校验
|
2026-09-08 08:14:12 +08:00 |
|
wangairnan
|
685f628e26
|
初始提交:Pure Note 设计方案 v1.1(含第 1 轮审评报告与修订)
- docs/design.md: 技术调研与设计方案,已按 review-round1.md 的 24 项
审评发现(P0x4/P1x11/P2x9)完整修订
- docs/review-round1.md: 第 1 轮审评报告(留档)
- .gitignore 与 internal/webui/dist 占位
|
2026-09-08 00:20:54 +08:00 |
|