Commit Graph
8 Commits
Author SHA1 Message Date
miaomiao 0c8ea58d22 fix: 个人中心昵称/博客保存修复 + 顶栏搜索框居中(5条限制) + UI 修复(顶栏选中高亮/UID开关/Banner/Tab/登录验证码按钮) 2026-08-14 03:18:30 +08:00
miaomiao c8707cf704 feat: 公开个人主页(/u/:id 名片+统计+帖子/回复内容流,全站头像可点跳转,bio 签名+最后活跃) 2026-08-13 02:12:14 +08:00
miaomiao 914ad4239b feat: 用户头像(自传>QQ>RainID 优先级 + author_avatar 全接口)+ profile QQ 管理 + RainID 个人中心跳转 2026-08-13 00:09:12 +08:00
miaomiao f6407a84f7 fix: 审查修复 - setup 死锁/验证码前后端对接/SPA 侧 XSS
- setup /complete 改 setup_complete 门禁(修复新装死锁),新密码禁止等于默认
- 验证码 proof 全链路贯通:前端 captcha.js/api/login/register/forum 传 captcha_proof;consumeProof 一次性消费 + jti 防同秒碰撞;删除死端点与死代码
- render.js 引入 DOMPurify 净化 markdown(SPA 侧存储型 XSS)
- email.js SMTP 检查提前;avatar 强正则白名单;register 验证码 crypto.randomInt
2026-08-06 22:11:43 +08:00
miaomiao 2ac286a4f8 P1: 后端安全加固 - 上传白名单/SSR净化/限流/密码箱/鉴权收敛/数据层统一
- 上传扩展名白名单 + MIME 校验;/uploads 加 nosniff + CSP sandbox 防护头
- ssr.js 全插值转义 + DOMPurify 净化 + JSON-LD JSON.stringify 序列化(消除存储型 XSS)
- 登录/发帖限流(express-rate-limit);验证码 proof token 体系(5 分钟 JWT + 防重放)
- 密码箱:PBKDF2 600k(pin_iter 列兼容旧密文)、解锁 3 次/5 分钟锁定、滑动过期会话、PIN >= 6 位
- adminOnly 查库复查;草稿仅 admin/作者可见;错误信息收敛;avatar 站内路径白名单;验证码 crypto.randomInt
- cli.js 删除重复 sql.js 封装统一到 db.js(data/rainweb.db 单路径);db.js 新增 migrateSchema 迁移框架
2026-08-06 21:32:06 +08:00
shanshuilala 2e6eeadfc1 feat: 增加数据库导入功能,支持从旧版 RainWeb 导入数据,优化验证码处理逻辑 2026-06-20 21:57:04 +08:00
shanshuilala bee5517f18 Refactor captcha handling and implement email verification codes
- Removed captcha checks from login, registration, and forum post routes.
- Implemented email verification using 8-digit codes for registration and password changes.
- Updated frontend to handle email verification code input during registration and password change.
- Simplified captcha logic by integrating CAPTCHA verification directly in the frontend.
- Enhanced email templates for verification codes and improved error handling.
- Cleaned up unused code related to captcha and improved overall code structure.
2026-06-19 21:13:51 +08:00
shanshuilala 38689b36f8 first commit 2026-06-19 19:34:04 +08:00