铭安PHP反馈工单系统源码_PHP反馈系统源码

铭安PHP反馈工单系统源码_PHP反馈系统源码

铭安PHP反馈工单系统是一款零依赖、轻量化、全闭环的用户反馈管理工具,无需框架、无需编译,上传即可部署。系统将用户零散的BUG反馈、功能建议、意见咨询转化为标准化、可跟踪、可公示、可激励的工单流程,解决传统反馈杂乱、无法溯源、难以跟进的问题。
用户端可自主提交工单、查看处理进度、接收邮件通知、浏览公开反馈大厅;管理员端可全量管理工单、维护用户、配置站点参数、精细化管控反馈内容,适配个人博客、企业官网、产品站点等各类场景使用。
本文为铭安PHP反馈工单系统专属宝塔部署全套教程,该系统基于原生PHP+MySQL开发,无任何第三方框架、无Composer依赖、无需前端构建工具,开箱即用。系统主打用户反馈收集、工单闭环管理、公开反馈大厅、邮件通知、权限风控等核心能力,适配PC、移动端全场景,适合个人、企业、站点搭建用户意见反馈、BUG提交、功能建议工单体系。文档包含项目技术栈、目录结构、详细部署步骤、伪静态配置、安全设置、功能介绍、本地开发调试、安全风控清单等完整内容,新手可直接一键部署上线。

项目基础信息

技术栈

PHP 7.4+(原生MVC架构,零第三方依赖)、MySQL 5.7+、原生JS(ESM模块化)、HTML/CSS
架构特点:PC/移动端共用一套PHP服务端渲染入口,搭配/api/*标准化JSON接口,适配全终端访问。

宝塔详细部署步骤

1. 源码上传

宝塔新建站点,将完整项目源码上传至站点根目录,保证目录结构与上述一致。

2. 环境配置

宝塔软件商店安装PHP 7.4及以上版本,务必启用核心扩展:pdo_mysql、fileinfo,否则数据库连接、文件上传功能失效。

3. 一键安装(推荐新手)

浏览器访问:https://你的域名/install.php,填写数据库信息、自定义管理员账号密码,系统自动完成全套部署:自动建库、生成17张数据表、写入管理员账号、自动生成API配置文件api/config.php。
  • 默认规则:自动跳过已存在数据表,保留原有数据
  • 强制重建:勾选后清空所有数据,全新初始化(谨慎操作)
手动部署方案(备用):宝塔新建UTF8mb4编码数据库,导入sql/init.sql脚本,手动编辑api/config.php填写数据库配置。

4. 上线安全必做操作

安装完成后,必须删除根目录install.php安装文件;或通过伪静态规则禁止访问,杜绝恶意重装漏洞。

5. Nginx伪静态规则(核心必填)

站点设置-伪静态,粘贴以下全套规则,否则API接口404、功能异常:
# 1. API单一入口路由(必填,解决/api/*接口404问题) location /api/ { try_files $uri $uri/ /api/index.php?$query_string; } # 2. 禁止uploads目录执行脚本,防木马后门 location ~* ^/uploads/.*\.(php|pHTML|php3|php4|php5|php7|pht|asp|aspx|jsp|cgi|pl|sh|py)$ { deny all; } # 3. 禁止访问API核心配置与内部文件 location ~ /api/(config\.php.*|lib/|index2\.php) { deny all; } # 4. 禁用安装器 location = /install.php { deny all; } # 5. 可选:禁止uploads直链访问,仅通过接口鉴权下载(提升安全性) # location ^~ /uploads/ { deny all; }

6. 全站安全响应头配置

站点设置-配置文件,在server模块内添加以下代码,防范XSS、点击劫持等风险:
add_header X-Content-Type-Options nosniff always; add_header X-Frame-Options DENY always; add_header Referrer-Policy strict-origin-when-cross-origin always;

7. 目录权限配置

宝塔文件管理设置 uploads/ 目录权限为755,属主设置为www,保证文件上传、存储、读取正常。

8. 部署验证

访问接口地址:https://你的域名/api/tickets/public,返回 {"code":0,"msg":"ok","data":{"list":[]}} 即代表部署成功。

Apache部署备注

项目uploads目录自带.htaccess防脚本执行规则,其余Nginx规则需手动适配Apache配置,优先推荐Nginx环境部署。

默认账号与安全初始化

  • 后台访问入口:https://你的域名/admin/login.php
  • 默认账号:admin / admin123
  • 必做操作:登录后台后立即进入「账号安全」修改默认密码,改密后自动清空所有后台登录会话
密码重置SQL(遗忘密码备用):
UPDATE feedback.admins SET password='新密码哈希值' WHERE username='admin';
PHP生成密码哈希命令:php -r "echo password_hash('新密码', PASSWORD_DEFAULT);"

系统核心功能介绍

功能模块
详细说明
注册/登录
支持用户名/邮箱双登录模式,Token SHA-256哈希存储、30天有效期,密码长度8-64位强校验
工单提交
登录可提交BUG、建议、功能需求,支持选择类型、产品、影响程度、多附件上传、私密/公开模式切换
工单流转
标准化流程:已受理→评估中→处理中(进度百分比)→已发布→已关闭,全流程可追溯
附件上传
单文件≤10MB,最多5个附件,仅支持图片/PDF/文本格式,禁用高危SVG,文件随机重命名,接口鉴权下载
工单互动
用户可补充说明,管理员后台回复,形成双向时间线对话记录
反馈大厅
展示所有公开工单,可手动关闭大厅、开启登录可见,避免重复反馈
邮件通知
支持SMTP配置、测试发信,实现注册验证码、工单状态变更、管理员回复自动通知用户
后台管理
工单全量管理、用户启停禁用、账号安全设置、站点品牌配置、产品管理、邮件参数配置
积分激励
优质反馈可发放积分,用户个人中心可查看积分余额,提升用户反馈积极性

本地开发调试(报错解决方案)

本地启动命令

项目根目录执行命令启动本地服务:php -S 127.0.0.1:8899 dev-router.php

本地访问报错说明

访问 http://127.0.0.1:8899/index.php 提示「URL拼写可能存在错误,请检查」,属于本地开发环境适配问题,并非程序BUG:本地简易PHP服务与生产Nginx路由规则不一致,仅影响本地预览,不影响宝塔线上部署后的正常运行,线上配置伪静态后可完美解决。
本地调试需提前在api/config.php配置本地数据库信息,保证接口正常请求。

全方位安全防护清单

已实现安全机制

  • 数据库:全部PDO预处理查询,杜绝SQL注入,关键词转义、字段白名单校验
  • 账号安全:密码bcrypt加密存储,登录/注册/后台登录限流防护,防止暴力破解
  • 鉴权体系:Bearer Token接口鉴权+Cookie回落,后台表单CSRF防护,跨域校验
  • 文件安全:附件双白名单校验(后缀+MIME)、随机重命名、禁止脚本执行、禁用SVG防XSS
  • 前端安全:用户内容textContent渲染,杜绝XSS注入,Cookie开启HttpOnly/SameSite
  • 验证码安全:邮箱验证码60s重发间隔、5次试错上限、1小时频次限制
  • 权限安全:改密/用户禁用自动吊销所有登录Token,核心配置文件禁止外网访问
  • 安装安全:安装器锁定机制、参数校验、错误信息脱敏,杜绝敏感信息泄露

安全取舍与注意事项

  • SMTP授权码明文存储于数据库,建议使用专用低权限授权码,严控数据库访问权限
  • 上线必做三要素:删除install.php、修改默认管理员密码、关闭系统debug模式
下载地址:
蓝奏云
密码:无
123盘
密码:无
阅读剩余