源码系统概览
文章正文
这套源码属于网盘/文件分享类项目,核心围绕文件上传、生成分享直链和下载展开。
南幽网盘是一套原生 PHP 写的轻量文件托管系统,前端用 Layui + Bootstrap 渲染,没有复杂的框架依赖,部署门槛低。
代码里能看到完整的上传页、下载页、落地页和后台鉴权入口,适合想自己搭个人网盘或做内部文件分发的朋友研究。
源码简介
南幽网盘是一套原生 PHP 编写的轻量文件分享系统,提供文件拖拽上传、自动生成分享直链、下载页列表与多套前端模板切换。
后端仅依赖 mysqli 扩展,前端用 Layui + Bootstrap 渲染,整体部署简单。
它适合个人网盘、内部文件分发等场景,也方便 PHP 初学者研究文件上传与下载的完整流程。
适用场景
- 个人网盘/小文件托管:自己或团队传文件、拿直链分享。
- 内部文件分发:公司或群组内临时分发资料,对方免登录即可下载。
- PHP 源码学习:原生 PHP 实现上传、下载、模板切换的入门参考。
功能亮点
- 拖拽上传 + 分享直链:user-upload.php 配合 upload/fileupload.php,上传后自动返回 http 直链。
- 下载页与直链下载:user_download.php 读取 content.json 渲染列表,download.php 流式输出 .data 文件。
- 多套前端模板:template 下含 index1/index2/index3,information 表 web_template 字段控制切换。
- 站点信息可配置:information 表记录站点名、副标题、QQ、邮箱、Logo、版权与公告开关。
- 后台鉴权入口:admin 表 + common.php/auth.php 已搭好登录鉴权链路(后台页面为占位,功能未实装)。
- 集成360安全扫描:360safe/360webscan.php 已挂到上传接口做请求过滤。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 后端:原生 PHP(mysqli 扩展),无框架依赖。 | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 先导入 install/sql/install.sql 建库建表(库名 s4010966,可自行修改)。 | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | 拖拽上传 + 分享直链:user-upload.php 配合 upload/fileupload.php,上传后自动返回 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
后端:原生 PHP(mysqli 扩展),无框架依赖。
前端:Layui + Bootstrap 5 + jQuery + lightyear 后台模板样式。
数据库:MySQL(install.sql 建库建表,库名可改)。
运行环境:PHP 7.x + MySQL 5.6+,需开启文件上传与目录写权限。
存储方式:上传文件落盘到 ./download(.data 后缀),记录写入 upload/common/content.json 文件。
安装与部署提示
先导入 install/sql/install.sql 建库建表(库名 s4010966,可自行修改)。
配置 includes/common/mysql.php 的数据库连接,install/inspection.php 会检查 install.lock 安装锁。
上传目录 ./download 与 upload/common 需开放写权限(content.json、number_text.text 会被写入)。
前端访问 index.php,上传页 user-upload.php,下载页 user_download.php。
注意:admin/index.php 当前是占位空页,后台管理功能尚未实装,别指望开箱即用。
截图与演示说明
- 前端首页:template/index2/index.html,导航含首页、下载页面,用户登录标注为未开发。
- 上传页:user-upload.php,Layui 拖拽上传区域,需填写标题、介绍、作者后上传。
- 下载页:user_download.php,从 upload/common/content.json 渲染已上传文件卡片列表。
- 下载接口:download.php,按 user/name/type 参数流式输出对应 .data 文件。
- 后台入口:admin/index.php,目前为占位空页,等待后续补全管理功能。
- 安装向导:install/installation.php 配合 install/sql/install.sql 完成初始化。
常见问题
- 上传后没出现在下载页?检查 upload/common/content.json 与 number_text.text 是否可写,上传接口依赖这两个文件记录上传信息。
- 后台登录进不去?admin/index.php 目前是占位页,后台功能尚未实装,需要自行补全管理逻辑才能用。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
补充风险(正常分析中明确发现):
路径:install/编码.php。
类型:PHP 源码混淆器,使用 eval + base64 + 变量变量拼接,产出的代码与 Webshell 特征高度一致,会被安全扫描器判定为恶意。
证据:编码.php 第 32-45 行,用 $q6=urldecode(…) 还原函数名,并以 eval(base64_encode(‘$q2=…;eval(…)’)) 形式包裹被加密的 index.php。
建议:部署前直接删除 install/编码.php 及其可能生成的 create/ 目录,不要上线任何经它混淆过的 PHP 文件。
路径:download.php。
类型:路径遍历(任意文件读取)风险。
证据:download.php 直接将 $_GET[‘user’] 与 $_GET[‘name’] 拼入 ./download/$user/$name.data,未做过滤。
建议:用 basename() 处理参数、拒绝包含 ../ 的输入,或改为按记录 ID 取文件。
路径:includes/sql/admin_sql.php。
类型:SQL 拼接注入。
证据:SELECT * FROM admin WHERE name=’$admin_name’ 直接拼接变量,未用预处理。
建议:改用 prepare/bind_param 预处理语句。
下载说明
本源码仅供学习研究,请仅在本地搭建与代码审计中使用。
下载包为全量源码(含 __MACOSX 元数据),解压后参考安装提示部署。
上线前务必完成上面”安全风险提示”中的整改,删除 install/编码.php 混淆器。
源码中引用的第三方 CDN 与统计外链(如 Google Fonts)建议替换为自有资源,避免对外泄露。