个人高颜值网盘系统源码 精简整理版
网站源码 2026-08-02 13:27 23

一、运行环境要求

  • PHP 版本:PHP 7.3 及以上
  • 目录权限:数据目录必须允许 PHP 进程读写
  • PHP 功能:需要启用 Session、JSON、文件上传及密码哈希等标准功能
  • 无需安装 MySQL、MariaDB 等数据库
  • 账号、分享记录和系统配置均使用本地 JSON 文件保存
  • 清理版已移除源码压缩加密功能,因此不再依赖 zlib 扩展
  • 推荐使用 HTTPS 部署,保障登录凭据及分享密码传输安全

生产环境建议通过 TIMIDC_DATA_DIR 环境变量,将数据目录放置在网站根目录之外。

二、完整目录结构

├── index.php                         可读主程序,线上直接运行
├── README.md                         部署及安全说明
├── static/
│   └── app/
│       ├── login.css                 登录及初始化页面样式
│       ├── login.js                  登录及管理员初始化逻辑
│       ├── main.css                  网盘管理界面样式
│       ├── main.js                   文件管理及分享功能
│       └── login-vue/
│           ├── vue.global.prod.js    Vue 前端框架
│           ├── element-plus.min.js   Element Plus 组件库
│           └── element-plus.min.css  Element Plus 样式
└── data/                             本地数据目录,需要读写权限
    ├── .htaccess                     Apache 数据访问保护
    ├── web.config                    IIS 数据访问保护
    ├── files/                        存放所有上传文件
    ├── users.json                    管理员账号及密码哈希
    ├── shares.json                   文件分享记录
    ├── config.json                   系统配置,运行后自动生成
    └── blacklist.json                IP 黑名单,触发限流后自动生成

三、安装步骤

  1. 将整套源码上传到网站根目录。
  2. 确保 data/ 目录及其子目录具有 PHP 读写权限。
  3. Apache 和 IIS 可直接使用源码自带的数据目录保护文件。
  4. Nginx 环境需要按照 README.md 增加 /data/ 禁止访问规则。
  5. 推荐配置 TIMIDC_DATA_DIR,将账号和上传文件存放在网站根目录之外。
  6. 浏览器访问网站域名。
  7. 首次访问会进入管理员初始化页面。
  8. 自行创建管理员账号,密码必须至少为 12 位。
  9. 初始化成功后即可进入蒂姆科技源码云盘管理界面。

四、源码修改方案

直接编辑根目录下的 index.php 即可修改后端、页面结构和品牌内容。

前端交互代码位于:

  • static/app/login.js
  • static/app/main.js

页面样式位于:

  • static/app/login.css
  • static/app/main.css

五、功能分类

1. 文件管理

  • 文件上传和下载
  • 文件及文件夹删除
  • 文件重命名
  • 新建文件夹
  • 多级目录浏览
  • 批量选择和批量删除
  • 批量移动到指定文件夹
  • 文件大小及修改时间展示

系统会拦截 PHP、PHAR、Shell、批处理和可执行程序等高风险文件扩展名,降低上传脚本后门的风险。

2. 文件分享

  • 通过文件操作菜单生成分享链接
  • 可为分享链接设置下载密码
  • 密码需要二次确认
  • 支持重置分享链接
  • 支持复制普通链接或包含密码的完整链接
  • 分享有效期可设置为 1 至 365 天
  • 默认有效期为 7 天
  • 过期分享记录会自动清理

分享记录只保存网盘根目录内的相对路径,不再保存服务器绝对路径。

3. 安全防护

  • 首次访问自行初始化管理员
  • 管理员密码使用 PHP 安全哈希保存
  • 登录成功后自动更新 Session ID
  • Session Cookie 启用 HttpOnlySameSite=Lax
  • 登录及所有修改型接口均带有 CSRF 校验
  • 管理员登录频率限制
  • 下载频率限制及超限 IP 临时封禁
  • 下载限流触发后统一返回 404,减少规则暴露
  • 上传文件类型和文件名安全校验
  • 新建、重命名及移动操作带有目录边界校验
  • 分享文件读取前再次检查真实路径
  • 修复文件名进入页面时可能产生的存储型 XSS
  • 对分享链接使用的 Host 头进行格式校验
  • Apache 和 IIS 数据目录默认禁止直接访问

4. 下载页面

  • 支持分享密码验证
  • 验证成功后显示文件名称和大小
  • 验证完成后显示下载按钮
  • 支持在分享链接中附带 &pwd=提取密码
  • 密码错误或文件失效时拒绝下载
  • 页面品牌统一显示“蒂姆科技源码云盘”
  • 下载页展示 www.timidc.cn 品牌信息

5. 系统设置

登录后点击右上角“设置”,可以调整分享链接有效期。

当前支持:

  • 分享有效期设置
  • 有效范围限制为 1 至 365 天
  • 系统默认值为 7 天

后续可以继续扩展密码修改、账号管理、黑名单管理、上传限制和日志查看等功能。

六、优缺点

优点:

  • 无数据库,安装和迁移简单
  • 源码完整可读,便于审计和二次开发
  • 支持文件管理、批量操作和密码分享
  • 带有下载限流及 IP 临时封禁
  • 移除了固定默认密码和动态执行壳
  • 增加 CSRF、路径边界和脚本上传防护
  • 前端依赖保存在本地,不依赖公共 CDN
  • 适合个人文件、源码资料和小型内部文件库

局限:

  • 仅支持本地磁盘存储
  • 暂不支持阿里云 OSS、腾讯云 COS、S3 等对象存储
  • 当前以单管理员使用场景为主
  • 不支持用户分组、容量配额和分级权限
  • 分享密码目前保存在本地 JSON 文件中
  • 大文件上传能力受 PHP 和 Web 服务器配置限制
  • 正式上线前仍需配置 HTTPS、备份、日志和服务器级访问控制