个人高颜值网盘系统源码 精简整理版
网站源码
2026-08-02 13:27
24
一、运行环境要求
- 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 黑名单,触发限流后自动生成
三、安装步骤
- 将整套源码上传到网站根目录。
- 确保
data/目录及其子目录具有 PHP 读写权限。 - Apache 和 IIS 可直接使用源码自带的数据目录保护文件。
- Nginx 环境需要按照
README.md增加/data/禁止访问规则。 - 推荐配置
TIMIDC_DATA_DIR,将账号和上传文件存放在网站根目录之外。 - 浏览器访问网站域名。
- 首次访问会进入管理员初始化页面。
- 自行创建管理员账号,密码必须至少为 12 位。
- 初始化成功后即可进入蒂姆科技源码云盘管理界面。
四、源码修改方案
直接编辑根目录下的 index.php 即可修改后端、页面结构和品牌内容。
前端交互代码位于:
static/app/login.jsstatic/app/main.js
页面样式位于:
static/app/login.cssstatic/app/main.css
五、功能分类
1. 文件管理
- 文件上传和下载
- 文件及文件夹删除
- 文件重命名
- 新建文件夹
- 多级目录浏览
- 批量选择和批量删除
- 批量移动到指定文件夹
- 文件大小及修改时间展示
系统会拦截 PHP、PHAR、Shell、批处理和可执行程序等高风险文件扩展名,降低上传脚本后门的风险。
2. 文件分享
- 通过文件操作菜单生成分享链接
- 可为分享链接设置下载密码
- 密码需要二次确认
- 支持重置分享链接
- 支持复制普通链接或包含密码的完整链接
- 分享有效期可设置为 1 至 365 天
- 默认有效期为 7 天
- 过期分享记录会自动清理
分享记录只保存网盘根目录内的相对路径,不再保存服务器绝对路径。
3. 安全防护
- 首次访问自行初始化管理员
- 管理员密码使用 PHP 安全哈希保存
- 登录成功后自动更新 Session ID
- Session Cookie 启用
HttpOnly和SameSite=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、备份、日志和服务器级访问控制
