# 内容投稿系统 一个轻量级、易部署的内容投稿管理系统,支持网址和APP/软件投稿,具有完善的后台审核功能。 ## ✨ 功能特性 ### 前端功能 - 🌐 **网址投稿**:自动获取网站TDK信息(标题、描述、关键词) - 📱 **APP/软件投稿**:支持多平台应用投稿 - 🎯 **多平台收录**:支持自媒体维基、zTab、SOSO平台选择 - 🔒 **IP限制**:每IP每日最多提交3次 - 🚫 **重复检测**:智能检测重复内容 - 📱 **响应式设计**:完美适配移动端和桌面端 ### 后端功能 - 👨‍💼 **管理后台**:完善的内容审核管理 - 🔐 **安全登录**:验证码保护,防暴力破解 - 📊 **数据统计**:实时查看投稿统计数据 - ✅ **状态管理**:待处理、已通过、已拒绝状态管理 - 👤 **账户管理**:支持修改管理员用户名和密码 - 🗂️ **分类管理**:网址和APP投稿分开管理 ### 技术特性 - 🗄️ **双数据库支持**:MySQL和SQLite可选 - 🚀 **轻量化设计**:纯PHP开发,无复杂依赖 - 🎨 **现代化UI**:参考大厂设计风格 - 📦 **易于部署**:支持宝塔面板一键部署 - 🔧 **安装向导**:图形化安装配置 ## 🛠️ 环境要求 - PHP >= 7.4 - PDO扩展 - PDO MySQL扩展(使用MySQL 5.7+或MariaDB时) - PDO SQLite扩展(使用SQLite时) - GD扩展(验证码功能) - cURL扩展(网站信息抓取) ## 📦 安装部署 ### 方式一:宝塔面板部署(推荐) 1. **下载源码** ```bash # 在宝塔面板文件管理中,进入网站根目录 # 上传项目文件或使用Git克隆 git clone https://github.com/your-repo/submission-system.git ``` 2. **设置网站** - 在宝塔面板中创建新网站 - 设置运行目录为项目根目录 - PHP版本选择7.4或以上 3. **配置数据库** - 在宝塔面板中创建MySQL数据库(推荐MariaDB或MySQL 5.7+) - 记录数据库名、用户名、密码 - 安装时勾选"兼容MySQL 5.7"选项(如使用MySQL 5.7) 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` - 按照向导完成安装配置 - 选择数据库类型(默认MariaDB/MySQL,可选SQLite) 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] # 安全设置 Order Allow,Deny Deny from all ``` **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. **运行安装** - 访问安装向导完成配置 - 选择数据库类型(默认MariaDB/MySQL,可选SQLite) ## 🎯 使用说明 ### 前台投稿 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 = ''; // 使用SQLite(设置为true) private $use_sqlite = false; ``` ### 功能配置 - **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支持一下!**