zamaniprince/incident-response-system

GitHub: zamaniprince/incident-response-system

一个基于 PHP 与 MySQL 的事件响应管理系统,用于规范安全事件的报告、跟踪与处置。

Stars: 0 | Forks: 0

# 🛡️ 事件响应系统 一个使用 PHP、MySQL 和现代 CSS 构建的综合性基于 Web 的事件响应和管理系统。该系统允许组织高效地报告、跟踪和管理安全事件,并具备基于角色的访问控制。 ![PHP](https://img.shields.io/badge/PHP-8.0+-777BB4?style=flat&logo=php&logoColor=white) ![MySQL](https://img.shields.io/badge/MySQL-5.7+-4479A1?style=flat&logo=mysql&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-green.svg) ## 📋 目录 - [功能特性](#features) - [系统架构](#system-architecture) - [安装指南](#installation) - [配置说明](#configuration) - [使用说明](#usage) - [数据库结构](#database-schema) - [安全特性](#security-features) - [截图展示](#screenshots) - [贡献指南](#contributing) - [许可协议](#license) ## ✨ 功能特性 ### 公共功能 - 📝 **匿名事件报告** - 公共用户无需认证即可报告安全事件 - 🔍 **事件跟踪** - 使用唯一跟踪 ID 跟踪事件状态 - 🎨 **现代化界面** - 采用深蓝色主题的响应式设计 ### 用户功能(需认证) - 👤 **用户仪表盘** - 显示用户所有事件报告的个性化仪表盘 - 📊 **状态监控** - 实时更新事件调查进度 - 📈 **时间线视图** - 展示事件进展的可视化时间线 - 🔔 **详细报告** - 查看完整事件详情、指派人员和解决方案 ### 管理员/经理功能 - 👥 **用户管理** - 对用户账户的完整 CRUD 操作 - 🎭 **角色管理** - 分配角色(管理员、经理、用户) - 📋 **事件管理** - 查看、更新并解决所有事件 - 📊 **分析仪表盘** - 全面的统计数据和洞察 - 🔄 **状态更新** - 更改事件状态(开启 → 进行中 → 已解决) - 👨‍💼 **指派系统** - 将事件指派给特定团队成员 ## 🏗️ 系统架构 ### 技术栈 - **前端:** HTML5, CSS3, JavaScript - **后端:** PHP 8.0+ - **数据库:** MySQL 5.7+ - **服务器:** Apache (WAMP/XAMPP/LAMP) ### 项目结构 ``` incident_response_system/ │ ├── config.php # Database configuration ├── index.php # Public landing page ├── styles.css # Global stylesheet │ ├── Public Pages/ │ ├── public_report.php # Public incident reporting │ ├── track_incident.php # Public incident tracking │ ├── login.php # User authentication │ └── register.php # User registration │ ├── User Pages/ │ ├── user_dashboard.php # User's personal dashboard │ ├── user_incident_detail.php # Detailed incident view for users │ └── user_profile.php # User profile management │ ├── Admin/Manager Pages/ │ ├── admin_dashboard.php # Admin overview dashboard │ ├── view_incidents.php # Manage all incidents │ ├── view_incident_detail.php # Full incident details │ ├── update_incident.php # Update incident status │ ├── manage_users.php # User management │ └── dashboard.php # Analytics dashboard │ ├── Auth/ │ └── logout.php # Session cleanup │ └── database.sql # Database setup script ``` ## 🚀 安装 ### 先决条件 - 已安装 WAMP/XAMPP/LAMP 服务器 - PHP 8.0 或更高版本 - MySQL 5.7 或更高版本 - Apache 网络服务器 ### 分步安装 1. **克隆仓库** git clone https://github.com/zamaniprince/incident-response-system.git 2. **移动到 Web 目录** # 对于 WAMP mv incident-response-system C:/wamp64/www/ # 对于 XAMPP mv incident-response-system C:/xampp/htdocs/ # 对于 Linux (LAMP) sudo mv incident-response-system /var/www/html/ 3. **创建数据库** - 打开 phpMyAdmin (http://localhost/phpmyadmin) - 创建名为 `incident_response_db` 的新数据库 - 导入 `database.sql` 文件 4. **配置数据库连接** - 将 `config.example.php` 复制为 `config.php`(或手动创建) - 更新数据库凭据: define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'incident_response_db'); 5. **设置权限**(仅限 Linux/Mac) chmod 755 incident-response-system chmod 644 incident-response-system/*.php 6. **访问应用程序** - 打开浏览器并导航至:`http://localhost/incident-response-system/` ## ⚙️ 配置 ### 数据库配置 编辑 `config.php` 以匹配您的环境: ``` connect_error) { die("Connection failed: " . $conn->connect_error); } return $conn; } if (session_status() === PHP_SESSION_NONE) { session_start(); } ?> ``` ## 📖 使用说明 ### 对于公共用户 1. **报告事件** - 访问首页 - 点击“报告事件” - 填写事件详情 - 提交并保存您的跟踪 ID 2. **跟踪事件** - 点击“跟踪您的报告” - 输入您的跟踪 ID - 查看事件状态和进度 ### 对于注册用户 1. **注册账户** - 从登录页面点击“注册” - 填写注册信息 - 提交并登录 2. **查看您的事件** - 登录账户 - 访问个人仪表盘 - 查看所有报告的事件 - 检查状态更新和解决方案 ### 对于管理员/经理 1. **管理事件** - 使用管理员/经理凭据登录 - 查看系统中的所有事件 - 更新事件状态 - 将事件指派给团队成员 2. **管理用户** - 访问“管理用户”页面 - 查看所有注册用户 - 更改用户角色 - 激活/停用账户 - 删除用户 3. **查看分析** - 访问分析仪表盘 - 查看事件统计 - 监控严重程度分布 - 跟踪类别趋势 ## 🗄️ 数据库结构 ### 用户表 ``` CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, email VARCHAR(150) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, full_name VARCHAR(100) NOT NULL, role ENUM('Admin', 'Manager', 'User') DEFAULT 'User', phone VARCHAR(20), department VARCHAR(100), status ENUM('Active', 'Inactive') DEFAULT 'Active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, last_login TIMESTAMP NULL ); ``` ### 事件表 ``` CREATE TABLE incidents ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255) NOT NULL, description TEXT NOT NULL, severity ENUM('Low', 'Medium', 'High', 'Critical') NOT NULL, category VARCHAR(100) NOT NULL, status ENUM('Open', 'In Progress', 'Resolved') DEFAULT 'Open', reporter_name VARCHAR(100) NOT NULL, reporter_email VARCHAR(150) NOT NULL, assigned_to INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, resolved_at TIMESTAMP NULL, FOREIGN KEY (assigned_to) REFERENCES users(id) ON DELETE SET NULL ); ``` ## 🔒 安全特性 - ✅ **密码哈希** - 使用 bcrypt 进行密码哈希 - ✅ **SQL 注入防护** - 所有查询使用预处理语句 - ✅ **会话管理** - 安全的会话处理 - ✅ **基于角色的访问控制** - 细粒度的权限系统 - ✅ **XSS 防护** - 对所有用户输入进行 HTML 实体编码 - ✅ **认证检查** - 页面级认证防护 - ✅ **密码强度验证** - 最低 8 个字符要求 ## 📱 响应式设计 该系统完全响应式,可在以下设备上无缝工作: - 💻 桌面电脑 - 📱 手机 - 📱 平板 - 🖥️ 大屏显示器 ## 🎨 设计系统 ### 配色方案 ``` --primary-blue: #1a2332 /* Main background */ --secondary-blue: #243447 /* Cards and containers */ --accent-blue: #2c4261 /* Borders and accents */ --light-blue: #3a5270 /* Hover states */ --highlight-blue: #4a6fa5 /* Primary buttons */ --success: #4ade80 /* Success states */ --warning: #fbbf24 /* Warning states */ --danger: #ef4444 /* Error/critical states */ ``` ## 🤝 贡献 欢迎贡献!请遵循以下步骤: 1. 叉出仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 发起拉取请求 ## 📝 许可 本项目采用 MIT 许可协议 - 详见 [LICENSE](LICENSE) 文件。 ## 👥 作者 - Zamani Prince - ** - (https://github.com/zamaniprince) ## 🙏 感谢 - 为数据库管理系统课程作业设计 - 采用现代 Web 开发最佳实践构建 - 灵感来源于专业的 incident response 系统 ## 🔮 后续增强功能 - [ ] 事件更新的电子邮件通知 - [ ] 文件附件支持 - [ ] 高级搜索和过滤 - [ ] 导出报告为 PDF - [ ] 双因素认证 - [ ] 第三方 API 集成 - [ ] 实时通知 - [ ] 事件升级流程 **⭐ 如果您发现此项目有用,请给它一颗星!**
标签:ffuf, MySQL5.7, OpenVAS, PHP, PHP8, RBAC, 事件响应系统, 事件跟踪, 代码示例, 仪表盘, 匿名举报, 响应式设计, 安全事件管理, 安全管理, 安全运营, 开源MIT, 扫描框架, 报告系统, 数据分析, 数据可视化, 时间线视图, 暗蓝色主题, 状态监控, 现代UI, 用户管理, 管理员面板, 网络安全, 角色权限管理, 追踪ID, 隐私保护