WC软件下载站 - 搭建教程
一款简洁高效的软件资源展示与下载管理系统,专为软件分享平台设计。支持响应式布局、深色模式、下载统计等功能。
📸 效果预览
前台展示效果
![前台首页]
- ✅ 响应式设计,完美适配手机/平板/PC
- ✅ 支持日间/夜间主题切换
- ✅ 实时搜索 + 分类筛选
- ✅ 置顶软件优先展示
- ✅ 真实下载数 + 虚拟下载数统计
后台管理功能
![后台登录]
- ✅ Session安全登录(30分钟过期保护)

- ✅ 软件增删改查 + 置顶功能
![添加软件]
- ✅ 批量上传软件和图片
- ✅ 安全图片上传验证
![分类管理]
- ✅ 分类管理 + 拖拽排序
🎯 适用场景
| 场景 | 说明 |
|---|---|
| 软件分享站 | 展示和分发各类软件资源 |
| 应用推荐平台 | 推荐精品应用,带下载统计 |
| 个人资源库 | 整理个人常用软件合集 |
| 破解资源站 | 分享修改版软件(默认分类已配置) |
🛠️ 环境要求
在开始搭建前,请确保你的服务器满足以下条件:
| 组件 | 最低要求 | 推荐版本 |
|---|---|---|
| PHP | 7.0+ | 7.4 或 8.x |
| MySQL | 5.6+ | 5.7 / 8.0 |
| Web服务器 | Apache / Nginx | Nginx + PHP-FPM |
| 磁盘空间 | 100MB+ | 1GB+(含上传文件) |
必需PHP扩展
- mysqli(数据库连接)
- session(登录认证)
- fileinfo(文件类型检测)
- gd(图片处理,可选)📦 搭建步骤
第一步:下载程序
将程序文件上传至网站根目录:
# 宝塔面板用户
/www/wwwroot/你的域名/
# 虚拟主机用户
/public_html/ 或 /htdocs/
# 本地测试
C:/xampp/htdocs/wczs/文件清单:
├── index.php # 前台首页
├── admin.php # 后台管理(带登录认证)
├── config.php # 数据库配置文件
├── download.php # 下载统计跳转
├── update_db.php # 数据库升级工具
├── README.md # 使用说明
├── .user.ini # PHP安全配置
├── uploads/ # 上传文件存储目录
└── gf/ # 扩展功能目录第二步:创建数据库
方法A:宝塔面板(推荐新手)
- 登录宝塔面板 → 数据库 → 添加数据库
- 填写数据库名(如
wczs) - 设置用户名和密码
- 点击提交,记录好账号信息
方法B:命令行创建
-- 登录MySQL
mysql -u root -p
-- 创建数据库
CREATE DATABASE wczs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户(可选,也可使用root)
CREATE USER 'wczs_user'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON wczs.* TO 'wczs_user'@'localhost';
FLUSH PRIVILEGES;第三步:配置数据库连接
编辑 config.php 文件,修改数据库连接信息:
<?php
$host = 'localhost'; // 数据库地址,一般保持localhost
$user = 'wczs_user'; // 数据库用户名
$pass = '你的密码'; // 数据库密码
$db = 'wczs'; // 数据库名
// 以下部分不用修改
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect($host, $user, $pass, $db);
mysqli_set_charset($conn, 'utf8mb4');
// ...⚠️ 安全提示:生产环境请务必修改数据库密码为强密码!
第四步:设置目录权限
确保以下目录有写入权限:
# Linux/Mac 命令行
chmod -R 755 uploads/
chmod -R 755 gf/
# 或者设置为777(不推荐生产环境)
chmod -R 777 uploads/宝塔面板操作:
- 文件管理 → 找到程序目录
- 右键
uploads文件夹 → 权限 - 设置为 755 或 777
- 勾选「应用到子目录」
第五步:访问安装
1. 前台访问
浏览器打开:
http://你的域名/index.php首次访问会自动创建数据库表,看到软件列表页面即表示安装成功。
2. 后台登录
浏览器打开:
http://你的域名/admin.php默认账号:
- 用户名:
admin - 密码:
admin123
⚠️ 重要:登录后请立即修改密码!
第六步:安全加固(必做)
1. 修改后台密码
编辑 admin.php 第7行:
$ADMIN_PASSWORD = '你的强密码'; // 修改为复杂密码建议密码组合:字母 + 数字 + 符号,长度12位以上。
2. 删除升级脚本(可选)
安装完成后,可删除数据库升级文件:
rm update_db.php3. 修改数据库密码(高级)
如果之前使用的是弱密码,建议修改:
ALTER USER 'wczs_user'@'localhost' IDENTIFIED BY '新强密码';
FLUSH PRIVILEGES;同时更新 config.php 中的 $pass。
🎨 使用教程
添加软件
单条添加
- 登录后台 → 点击「添加软件」
- 填写软件名称
- 填写下载链接(网盘链接或直链)
- 选择分类
- 上传软件图标(支持jpg/png/gif/webp)
- 点击「添加软件」
批量添加
- 后台 → 「添加软件」→ 切换到「批量添加」标签
- 选择分类
按格式粘贴内容:
软件名称1 https://下载链接1 软件名称2 https://下载链接2- 上传对应数量的图片(可选)
- 点击「批量添加」
管理软件
置顶软件
- 软件列表页 → 点击「置顶」按钮
- 置顶软件会在前台最前面显示
- 再次点击可取消置顶
编辑软件
- 点击「编辑」按钮
- 可修改名称、链接、分类、图标
- 可设置虚拟下载次数(用于展示)
删除软件
- 点击「删除」按钮
- 确认后会同时删除关联的图片文件
分类管理
添加分类
分类在首次访问时自动创建默认分类:
- 破解修改
- 科学上网
- 娱乐游戏
- 实用工具
- 系统美化
排序分类
- 进入「分类管理」页面
- 修改数字序号(越小越靠前)
- 点击「保存排序」
删除分类
点击「删除」按钮即可,注意:删除分类不会影响已归类的软件。
🔐 安全说明
已修复的安全漏洞
本程序已针对以下安全问题进行加固:
| 漏洞类型 | 修复措施 |
|---|---|
| SQL注入 | 所有输入使用 mysqli_real_escape_string() 转义 |
| XSS攻击 | 所有输出使用 htmlspecialchars() 转义 |
| 文件上传漏洞 | 验证MIME类型、扩展名、图片真实性 |
| 未授权访问 | 后台添加Session登录认证,30分钟过期 |
| 目录遍历 | 上传文件使用随机文件名,禁止执行权限 |
生产环境建议
- 开启HTTPS:使用SSL证书加密传输
- 定期备份:每周备份数据库和uploads目录
错误隐藏:生产环境关闭PHP错误显示
error_reporting(0); ini_set('display_errors', 0);- 防火墙设置:仅开放80/443端口
❓ 常见问题
Q1: 访问提示 "Table 'xxx.apps' doesn't exist"
原因:数据库表未创建
解决:检查 config.php 数据库配置,确保信息正确,然后刷新页面自动创建
Q2: 图片上传失败
原因:目录权限不足
解决:
chmod -R 777 uploads/宝塔用户:文件管理 → uploads → 权限 → 777
Q3: 后台登录提示 "页面丢失" 或 404
原因:可能误删了admin.php或Session未开启
解决:
- 检查
admin.php文件是否存在 - 检查PHP是否开启Session扩展
- 检查浏览器是否启用Cookie
Q4: 前台样式错乱
原因:可能是CDN加载失败或CSS被拦截
解决:检查浏览器控制台是否有资源加载错误,尝试切换网络环境
Q5: 如何修改网站标题?
编辑 index.php,搜索:
<title>WC软件 - 精品软件推荐</title>修改为你想要的标题。
📊 数据库结构
如需手动导入,可使用以下SQL:
-- 创建分类表
CREATE TABLE IF NOT EXISTS categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
sort_order INT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入默认分类
INSERT INTO categories (name, sort_order) VALUES
('破解修改', 1),
('科学上网', 2),
('娱乐游戏', 3),
('实用工具', 4),
('系统美化', 5);
-- 创建软件表
CREATE TABLE IF NOT EXISTS apps (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
image VARCHAR(500) NOT NULL,
download_url TEXT NOT NULL,
category VARCHAR(100) NOT NULL,
download_count INT DEFAULT 0,
virtual_downloads INT DEFAULT 0,
is_sticky TINYINT DEFAULT 0,
sticky_time DATETIME NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_category (category),
INDEX idx_is_sticky (is_sticky),
INDEX idx_sticky_time (sticky_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;📝 更新日志
v1.0 (2025-02-28)
- ✅ 初始版本发布
- ✅ 前后台基础功能完成
- ✅ 安全漏洞修复
- ✅ 响应式布局优化
- ✅ 深色模式支持
源码下载地址:
此处内容需要评论回复后(审核通过)方可阅读。
🤝 技术支持
如有问题或建议,欢迎交流讨论。
声明:本程序仅供学习交流使用,请勿用于非法用途。使用本程序搭建的网站,请遵守当地法律法规,上传资源需确保拥有合法版权或授权。
如果这篇教程对你有帮助,欢迎收藏分享! 🎉