系统概述
本系统是一套基于 PHP + MySQL 架构的员工上网行为管理系统(B/S架构),由**雄鹰(童建平)**设计开发,主要用于企业内部员工上网行为的监控、审计与管理。系统采用经典的 iframe MDI(多文档界面)架构,所有功能模块以标签页形式在主框架内打开,提供统一的操作体验。
- 系统名称:美亚柏科网络管理系统
- 版本号:2010.11.19
- 开发者:雄鹰(童建平)
- 官方网站:www.xmyy.com
- 字符编码:GB2312

技术架构
| 项目 | 说明 |
|---|---|
| 后端语言 | PHP(原生PHP,无框架) |
| 数据库 | MySQL |
| 前端技术 | JavaScript + CSS + iframe |
| 界面架构 | MDI 多标签页(iframe-based) |
| 字符编码 | GB2312 |
| 邮件组件 | PEAR Mail + SMTP |
| Excel处理 | Spreadsheet_Excel_Writer / excel_reader |
| 部分加密 | Zend Encoder(部分业务文件加密) |
| 操作系统 | 支持 Windows / Linux |
系统目录结构
meiya/
├── index.php # 系统主入口(MDI框架页面)
├── login.php # 登录页面
├── login_check.php # 登录验证逻辑
├── logout.php # 登出处理
├── top.php # 顶部横幅
├── topmenu.php # 顶部导航菜单(动态权限菜单)
├── tool.php # 标签页工具栏
├── pass.php # 随机密码生成器
├── version.php # 版本信息页
├── close.htm # 窗口关闭辅助页(VPN场景)
├── Mail.php # 邮件发送入口
├── common/ # 公共核心目录
│ ├── config.php # 数据库及系统配置
│ ├── global.php # 全局配置引入与初始化
│ ├── global_fuc.php # 全局函数库(核心)
│ ├── mysql.class.php # MySQL数据库操作类
│ ├── session.class.php # Session管理类
│ ├── email.class.php # 邮件发送类
│ ├── validator.php # 数据验证器
│ ├── excel_reader.php # Excel读取器
│ ├── excel_reader2.php # Excel读取器扩展
│ ├── confighardware.php # 硬件配置
│ └── globalhardware.php # 硬件全局配置
├── left/
│ └── control.php # 左侧树形菜单控制面板
├── main/ # 业务功能目录
│ ├── emp_manager.php # 员工账号管理
│ ├── search.php # 上网记录查询与导出
│ ├── userinfo.php # 用户信息映射表
│ ├── countmail.php # 邮件统计(Zend加密)
│ ├── staffcom.php # 员工通讯管理(Zend加密)
│ ├── scan.php # 网络扫描功能(Zend加密)
│ ├── scan5.sh/scan6.sh # 网络扫描Shell脚本
│ ├── import.sh # 数据导入脚本
│ ├── impcheck.sh # 导入检查脚本
│ ├── mailpass.sh # 邮件密码脚本
│ └── *.exe # 辅助工具(备份、IPSec、FTP等)
├── ajax/
│ └── ajax_fun.php # AJAX异步请求处理
├── js/ # JavaScript脚本目录(27个JS文件)
├── css/ # 样式表目录(6个CSS文件)
├── images/ # 图片资源目录
├── Mail/ # PEAR邮件发送库
├── PEAR/ # PEAR框架库
├── logsee/ # 服务器日志HTML文件(按IP分)
└── source/
└── mysql/ # 数据库SQL脚本(55个建表/数据文件)
核心功能模块
1. 用户认证与登录系统
- Session认证机制:基于数据库的Session管理(
task_session表),支持自定义Session过期时间(默认300小时) - 登录验证:从
emp_list表验证用户名/密码(MD5加密存储) - 自动登录:支持 Cookie 自动登录功能(
autologin=1) - 登录日志:记录合法登录和非法登录尝试(
legallog/illegallog),包含IP地址、时间等信息 - 密码安全:登录时密码MD5传输,前端提供密码强度检测(弱/中/强)
- IP地址获取:支持多层代理环境下的真实IP获取(HTTP_CLIENT_IP → HTTP_X_FORWARDED_FOR → REMOTE_ADDR)
2. 基于角色的权限控制(RBAC)
- 多级权限体系:通过
act_list(角色表)和auth_list(权限/菜单表)实现 - 菜单权限控制:左侧树形菜单和顶部导航菜单根据用户角色动态生成
- 四级菜单深度:支持 deep 1~4 级的多级菜单结构
- 功能级权限:每个功能模块通过
auth()函数检查用户权限 - 权限标识:如
emp_listall(查看账号)、emp_add(添加账号)、emp_mod(修改账号)、del_emp(删除账号)、urllog-in(导入记录)、urllog-out(查看记录)等
3. MDI 多标签页窗口管理
- iframe标签页系统:所有功能页面在 iframe 中打开,支持多标签切换
- 核心操作:
MDIOpen(打开)、MDISwitch(切换)、MDIClose(关闭)、MDIRefresh(刷新)、MDIGoBack(后退) - 标签页持久化:通过
tab_list表将打开的标签页保存到数据库,用户重新登录后自动恢复 - Cookie记忆:打开页面时自动记录到标签列表,关闭时自动删除
- 标签页标题:自动从
auth_list表获取页面中文名作为标签标题
4. 员工账号管理
- 账号CRUD:支持员工账号的查询、添加、修改、删除
- 账号属性:登录名(316位)、中文名(28位汉字)、角色、密码(MD5加密)
- 角色分配:从
act_list表读取可用角色列表进行分配 - 账号搜索:支持按登录名或中文名模糊搜索
- 分页显示:列表支持分页浏览(默认每页30条)
- 表格排序:前端支持点击表头排序
- 密码强度检测:添加/修改账号时前端实时检测密码强度
5. 上网行为记录管理
- 日志导入:从多台服务器(172.16.0.x 网段)的 HTML 日志文件中解析并导入上网记录到数据库
- 记录解析:解析服务器生成的 HTML 文件,提取URL、标题、时间、用户名、IP等信息
- 多条件搜索:
- 按姓名搜索
- 按IP地址搜索
- 网址模糊搜索
- 违规网址搜索(支持多关键字逗号分隔)
- 时间范围过滤:支持自定义起止时间的记录筛选
- 违规检测:可配置违规网址关键字,自动过滤工作时间(08:40~11:50, 13:15~18:00)内的违规上网记录
- 人员过滤:支持过滤特定人员(如免监控人员、已离职人员)
- Excel导出:搜索结果可导出为 Excel 文件(
.xls),包含明细和统计两个工作表 - 员工-IP映射:通过
userinfo.php维护用户名到真实姓名、IP到用户名的映射关系
6. 屏幕锁定(安全保护)
- 自动锁屏:用户无操作超过设定时间后自动锁定屏幕(通过
auto_lock_wait_time参数配置) - 手动锁屏:支持手动触发屏幕锁定
- 解锁机制:需要输入密码才能解锁
- 状态管理:通过 Session 的
screen_safe_status状态控制(lock/unlock)
7. 功能参数配置
- 系统级参数:全局默认的功能参数设置
- 用户级参数:每个用户可自定义覆盖系统参数
- 参数存储:通过
parameter_db_list表存储 - 参数类型:支持多种参数类型,如
auto_lock_wait_time(自动锁屏等待时间)等 - 参数继承:用户修改参数时,如果系统参数存在则创建用户级副本
8. 左侧树形菜单
- dTree组件:基于自研的 JavaScript dTree 树形控件
- 动态生成:根据用户权限从
auth_list表动态生成菜单树 - 多级展开:支持文件夹展开/折叠,四级菜单深度
- 节点图标:支持根节点、文件夹、页面等多种图标样式
- 选中高亮:点击菜单项高亮显示当前选中状态
- Cookie状态保存:菜单展开/折叠状态通过Cookie持久化
9. 邮件管理
- SMTP发送:通过 PEAR Mail 库支持 SMTP 方式发送邮件
- 邮件统计:支持邮件收发统计功能(
countmail模块) - 多服务器支持:支持从多台邮件服务器统计数据
10. 网络扫描与监控
- IP扫描:通过 Shell 脚本(
scan5.sh、scan6.sh)进行网络扫描 - IPSec VPN:集成
eagleipsec.exe支持 VPN 连接管理 - FTP上传:集成
ncftpput.exe支持文件上传 - 数据导入:通过
import.sh脚本自动化导入监控数据 - 日志查看:
logsee/目录存放各服务器的上网日志 HTML 文件
数据库设计
核心数据表
| 表名 | 说明 |
|---|---|
emp_list |
员工账号表(登录名、密码、中文名、角色) |
act_list |
角色定义表(角色名称、权限列表) |
auth_list |
权限/菜单表(菜单名、链接URL、层级深度、父ID、是否显示) |
task_session |
Session存储表 |
tab_list |
标签页记录表(标签名、链接URL、SessionID、生成时间) |
parameter_db_list |
功能参数表(参数名、参数值、用户/系统级) |
urllist |
上网记录表(IP、URL、标题、时间、用户名) |
staff |
员工信息表(中文名、邮箱等) |
legallog |
合法登录日志表 |
illegallog |
非法登录日志表 |
数据表前缀
系统使用 task_ 作为数据表前缀,如 task_session。
系统特点
架构特点
- 经典B/S架构:无需安装客户端,浏览器即可访问
- MDI多文档界面:类似桌面应用的多标签页操作体验
- 前后端分离雏形:AJAX异步请求处理(
ajax_fun.php) - 数据库Session:自定义数据库Session管理,支持分布式部署
- 模块化设计:各功能模块独立文件,便于维护和扩展
安全特点
- MD5密码加密:用户密码MD5存储
- SQL注入防护:
addslashes转义处理(daddslashes函数) - XSS防护:
SafeHtml函数过滤HTML内容 - 权限验证:每个功能模块独立的权限检查
- 直接访问防护:核心文件(config.php、global.php)禁止直接访问
- 登录日志审计:记录所有登录尝试
运维特点
- Shell脚本集成:支持Linux Shell脚本自动化任务
- 多服务器日志聚合:支持从多台服务器收集和导入上网日志
- Excel导入导出:支持数据批量导入导出
- 数据备份:集成备份工具(
backup.exe) - VPN支持:集成IPSec VPN客户端
用户体验特点
- 标签页记忆:关闭浏览器后重新登录自动恢复上次打开的页面
- 屏幕锁定:离开工位自动锁屏,保护系统安全
- 树形菜单:清晰的树形结构导航
- 动态菜单:根据用户权限动态显示可用功能
- 密码强度提示:实时密码强度检测反馈
- 表格交互:支持排序、分页、行悬停高亮
环境要求
- Web服务器:Apache / IIS
- PHP版本:PHP 5.x(支持
mysql_*函数系列) - 数据库:MySQL 5.x
- 操作系统:Windows / Linux
- 浏览器:IE 6+(兼容老旧浏览器)
- 扩展依赖:PEAR(Mail、Spreadsheet_Excel_Writer)
部署说明
- 将源码部署到 Web 服务器目录
- 修改
common/config.php中的数据库连接配置 - 导入
source/mysql/目录下的 SQL 文件创建数据表 - 确保 PHP 支持 MySQL 扩展
- 访问
login.php进行系统登录
辅助工具
| 文件 | 说明 |
|---|---|
pass.php |
随机密码生成器(支持指定长度) |
main/backup.exe |
数据备份工具 |
main/eagleipsec.exe |
IPSec VPN 客户端 |
main/ncftpput.exe |
NFTP 上传工具 |
main/wget.exe |
文件下载工具 |
main/iehis.exe |
IE历史记录工具 |
总结
这是一套功能完整的企业级员工上网行为管理系统,涵盖了用户认证、权限管理、上网记录监控、行为审计、数据导出、邮件管理、网络扫描等核心功能。系统采用经典的 PHP + MySQL 技术栈,界面简洁实用,功能模块划分清晰,特别适合中小型企业对员工上网行为进行规范化管理和审计。