立项原因:旨在解决轻量级内容发布的实际需求。WordPress 等重型框架占用资源大、部署复杂;静态网站生成器缺乏动态交互能力。本系统提供极简、高性能的博客方案,同时作为 CGI 技术在现代 Web 开发中的完整工程示范。
业务背景:适用于个人博主、小型内容团队搭建博客站点,最低配置 512MB VPS 即可流畅运行。也适合教学场景,帮助学生从底层理解 HTTP 协议、CGI 工作原理、Web 三层架构等核心概念。
点击空白处退出提示
立项原因:旨在解决轻量级内容发布的实际需求。WordPress 等重型框架占用资源大、部署复杂;静态网站生成器缺乏动态交互能力。本系统提供极简、高性能的博客方案,同时作为 CGI 技术在现代 Web 开发中的完整工程示范。
业务背景:适用于个人博主、小型内容团队搭建博客站点,最低配置 512MB VPS 即可流畅运行。也适合教学场景,帮助学生从底层理解 HTTP 协议、CGI 工作原理、Web 三层架构等核心概念。
用户系统:注册(密码强度校验、唯一性检查)、登录(Session + Cookie,24 小时有效)、登出。文章发布:富文本提交、图片上传(MIME 白名单 + 魔数校验)、多标签关联。内容浏览:文章列表(支持标签/作者/时间/关键词多维筛选)、文章详情页(含评论展示)。审核机制:三段式状态机(待审核→已发布/已驳回),管理员审核面板支持通过/驳回/删除操作。评论互动:登录评论,按文章聚合展示。订阅关注:订阅/取消订阅作者,关注动态流聚合已订阅作者文章。角色权限:三级体系(普通用户→管理员→超级管理员),逐级继承,敏感入口独立校验。后台管理:用户升降级与删除、文章审核与删除。
负责内容:独立完成全部架构设计与编码实现。包括 16 个 CGI 端点、4 个公共模块(数据库/请求解析/HTML 渲染/认证)、7 表数据库设计、Makefile 构建系统、部署与测试脚本、全站 CSS 设计及全套文档撰写。
技术架构:C + SQLite + Apache mod_cgi 三层架构(浏览器↔Apache↔SQLite)。每个请求独立 fork 进程,通过环境变量传递参数,stdout 输出 HTTP 响应。无状态设计通过 Cookie + 数据库 Session 表维持登录态。
亮点:(1) 纯 C 实现 SHA-256 哈希(约 120 行),零外部依赖;(2) 自研 multipart 解析器(约 350 行),含 MIME 白名单 + 魔数校验 + 路径穿越防护;(3) 100% 参数化查询 + HTML 转义防注入;(4) Post/Redirect/Get 模式防重复提交;(5) 动态 SQL 构建实现多维筛选。
难点:(1) CGI 无状态模型下的 Session 状态管理;(2) 纯 C 手动内存管理,需防范缓冲区溢出;(3) 从零实现 multipart 二进制解析器;(4) 三级角色与三段文章状态的交叉权限校验。



评论