🛠️ 8xCMS - 不依赖于框架的通用CMS

理解框架,抛弃框架

进入后台 API 文档

核心功能

六大业务模块,覆盖常见后台管理需求

👥

用户管理

用户的创建、编辑、启用/禁用,支持按用户名、邮箱、状态搜索和分页展示。

🔐

RBAC 权限管理

基于角色的访问控制,支持角色创建、权限分配、用户角色绑定,细粒度权限检查。

🔑

激活码管理

批量生成唯一激活码,支持兑换验证、状态筛选、CSV 导出,并发安全。

📝

文章管理

文章的创建、编辑、发布、软删除,分类管理,富文本编辑器,API 输出已发布文章。

⚙️

站点设置

键值对配置管理,支持文本、图片链接、开关三种类型,按分组展示,变更审计日志。

📢

广告管理

广告位和广告内容管理,支持展示时间范围、权重排序、启用/禁用控制。

技术栈

轻量、高效、无框架依赖

PHP 8.1+
原生开发,无框架依赖
MySQL 8.0+
数据持久化存储
自定义路由器
前缀匹配 + 参数路由
中间件机制
认证 + RBAC 权限链
分层架构
Controller → Service → Repository
PHPUnit 10
663 个单元测试

8xcms系统架构

业务逻辑复用,表现层分离

┌─────────────────────────────────────────────────────────┐
│                      客户端请求                           │
└──────────────────────────┬──────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│  Router(路由分发)                                        │
│  /admin/* → Web Controller    /api/v1/* → API Controller │
└──────────────────────────┬───────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│  Middleware(中间件链)                                     │
│  AuthMiddleware → RBACMiddleware → Handler               │
└──────────────────────────┬───────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│  Service Layer(业务逻辑层)                                │
│  UserService / ArticleService / AdService / ...          │
└──────────────────────────┬───────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│  Repository(数据访问层)                                   │
│  UserRepository / ArticleRepository / AdRepository / ... │
└──────────────────────────┬───────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│  MySQL 数据库                                             │
└──────────────────────────────────────────────────────────┘
        

安全特性

多层安全防护机制

🔒

密码安全

bcrypt 哈希存储(cost=12),禁止明文存储,认证失败不区分用户名/密码错误。

🛡️

账户保护

15 分钟内连续 5 次失败自动锁定,会话 30 分钟超时,防暴力破解。

🧱

SQL 注入防护

全部使用 PDO 参数化查询,杜绝 SQL 注入风险。