tougao/README.md

261 lines
7.2 KiB
Markdown
Raw Normal View History

2025-05-26 15:23:18 +08:00
# 内容投稿系统
一个轻量级、易部署的内容投稿管理系统支持网址和APP/软件投稿,具有完善的后台审核功能。
## ✨ 功能特性
### 前端功能
- 🌐 **网址投稿**自动获取网站TDK信息标题、描述、关键词
- 📱 **APP/软件投稿**:支持多平台应用投稿
- 🎯 **多平台收录**支持自媒体维基、zTab、SOSO平台选择
- 🔒 **IP限制**每IP每日最多提交3次
- 🚫 **重复检测**:智能检测重复内容
- 📱 **响应式设计**:完美适配移动端和桌面端
### 后端功能
- 👨‍💼 **管理后台**:完善的内容审核管理
- 🔐 **安全登录**:验证码保护,防暴力破解
- 📊 **数据统计**:实时查看投稿统计数据
-**状态管理**:待处理、已通过、已拒绝状态管理
- 👤 **账户管理**:支持修改管理员用户名和密码
- 🗂️ **分类管理**网址和APP投稿分开管理
### 技术特性
- 🗄️ **双数据库支持**MySQL和SQLite可选
- 🚀 **轻量化设计**纯PHP开发无复杂依赖
- 🎨 **现代化UI**:参考大厂设计风格
- 📦 **易于部署**:支持宝塔面板一键部署
- 🔧 **安装向导**:图形化安装配置
## 🛠️ 环境要求
- PHP >= 7.4
- PDO扩展
- PDO MySQL扩展必须使用MySQL或MariaDB
- GD扩展验证码功能
- cURL扩展网站信息抓取
## 📦 安装部署
### 方式一:宝塔面板部署(推荐)
1. **下载源码**
```bash
# 在宝塔面板文件管理中,进入网站根目录
# 上传项目文件或使用Git克隆
git clone https://github.com/your-repo/submission-system.git
```
2. **设置网站**
- 在宝塔面板中创建新网站
- 设置运行目录为项目根目录
- PHP版本选择7.4或以上
3. **配置数据库**
- 在宝塔面板中创建MySQL数据库
- 记录数据库名、用户名、密码
4. **设置文件权限**
```bash
chmod 755 -R /www/wwwroot/your-domain/
chmod 777 /www/wwwroot/your-domain/config/
chmod 777 /www/wwwroot/your-domain/data/
```
5. **运行安装向导**
- 访问 `http://your-domain/install.php`
- 按照向导完成安装配置
6. **安全设置**
- 安装完成后删除或重命名 `install.php`
- 登录后台修改默认密码
### 方式二:手动部署
1. **上传文件**
- 将所有文件上传到Web服务器根目录
2. **配置Web服务器**
**Apache配置**.htaccess
```apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
# 安全设置
<Files "config/*">
Order Allow,Deny
Deny from all
</Files>
```
**Nginx配置**
```nginx
server {
listen 80;
server_name your-domain.com;
root /path/to/submission-system;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 安全设置
location ~ ^/config/ {
deny all;
}
}
```
3. **设置权限**
```bash
chmod 755 -R /path/to/submission-system/
chmod 777 /path/to/submission-system/config/
chmod 777 /path/to/submission-system/data/
```
4. **运行安装**
- 访问安装向导完成配置
## 🎯 使用说明
### 前台投稿
1. **网址投稿**
- 输入网址URL支持http/https
- 点击"获取信息"自动填充网站信息
- 选择收录平台
- 填写联系方式(可选)
- 提交投稿
2. **APP投稿**
- 切换到"APP/软件投稿"标签
- 填写应用名称、平台、版本等信息
- 提供图标地址、下载链接、官网地址
- 选择收录平台并提交
### 后台管理
1. **登录后台**
- 访问 `/admin/login.php`
- 默认账户admin/admin
- 输入验证码登录
2. **内容审核**
- 查看待处理的投稿内容
- 切换查看网址投稿和APP投稿
- 批量或单个审核通过/拒绝
- 添加审核备注
3. **账户管理**
- 点击"账户设置"修改用户名和密码
- 建议首次登录后立即修改默认密码
## 🔧 配置说明
### 数据库配置
编辑 `config/database.php`
```php
// MySQL配置
private $host = 'localhost';
private $db_name = 'submission_system';
private $username = 'root';
private $password = '';
```
### 功能配置
- **IP限制**:在 `includes/utils.php` 中修改每日提交次数限制
- **验证码**:可在 `admin/captcha.php` 中自定义验证码样式
- **平台选项**:在前端页面中修改收录平台选项
## 📁 目录结构
```
submission-system/
├── admin/ # 后台管理
│ ├── index.php # 管理主页
│ ├── login.php # 登录页面
│ ├── logout.php # 退出登录
│ └── captcha.php # 验证码生成
├── api/ # API接口
│ └── fetch_website_info.php # 获取网站信息
├── config/ # 配置文件
│ └── database.php # 数据库配置
├── includes/ # 核心文件
│ └── utils.php # 工具类
├── data/ # 数据目录SQLite
├── index.php # 前台主页
├── install.php # 安装向导
├── README.md # 说明文档
└── LICENSE # 开源协议
```
## 🔒 安全建议
1. **修改默认密码**首次登录后立即修改admin账户密码
2. **删除安装文件**:安装完成后删除 `install.php`
3. **设置文件权限**确保配置文件不可通过Web访问
4. **定期备份**:定期备份数据库和配置文件
5. **更新维护**及时更新PHP版本和扩展
## 🐛 常见问题
### Q: 无法获取网站信息?
A: 检查服务器是否支持cURL扩展确保目标网站可访问。
### Q: 验证码不显示?
A: 检查GD扩展是否安装确保PHP支持图像处理。
### Q: 数据库连接失败?
A: 检查数据库配置信息,确保数据库服务正常运行。
### Q: 文件上传权限错误?
A: 检查目录权限设置确保Web服务器有写入权限。
### Q: 页面样式异常?
A: 检查CDN资源是否正常加载可考虑本地化CSS/JS文件。
## 🤝 贡献指南
欢迎提交Issue和Pull Request来改进项目
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📄 开源协议
本项目采用 MIT 协议开源,详见 [LICENSE](LICENSE) 文件。
## 🙏 致谢
- 感谢所有为开源社区做出贡献的开发者
- 特别感谢提供设计灵感的各大互联网公司
- 感谢使用本系统的每一位用户
## 📞 联系方式
如有问题或建议,欢迎通过以下方式联系:
- 提交 Issue
- 发送邮件
- 加入讨论群
---
**⭐ 如果这个项目对你有帮助请给个Star支持一下**