楼主: laolaydan
76 0

[其他] VerifyGuard - 企业微信二次验证系统 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-9-5
最后登录
2018-9-5

楼主
laolaydan 发表于 2025-12-3 22:00:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

VerifyGuard - 企业微信二次验证与安全登录系统

项目概述

VerifyGuard 是一套专为适配企业微信(WeCom)环境而开发的二次身份验证与安全登录解决方案。该系统通过统一认证网关机制,为企业内部各类应用提供高效、安全且易于管理的用户登录支持,全面强化身份核验流程的安全性与可控性。

服务器准备与宝塔面板安装

建议选用配置为2核CPU、2GB或4GB内存的基础云服务器即可满足运行需求。部署初期需先安装宝塔面板以简化后续管理操作。

使用以下命令一键安装宝塔面板:

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ssl251104

安装完成后,系统将输出默认的登录地址、用户名及密码信息,请妥善记录并用于首次登录访问。

由于 VerifyGuard 基于 PHP 构建,您可在宝塔面板中进入网站管理模块,添加站点并绑定所需域名,随后将程序文件部署至对应根目录即可。

核心功能特性

多模式身份认证机制

  • 支持邮箱或手机号接收验证码进行免密登录
  • 传统账号密码登录方式兼容现有体系
  • 集成企业微信 OAuth2.0 协议实现一键快速授权登录

双重验证流程设计

  • 严格遵循企业微信官方安全规范
  • 采用双因素身份核验策略,提升账户安全性
  • 支持灵活配置验证触发条件和执行逻辑

完善的账号管理体系

  • 可查看当前用户在线状态,并实时掌握活跃情况
  • 提供账号启用/禁用控制功能,便于权限管理
  • 支持强制下线异常或违规登录会话

便捷的信息查询服务

  • 允许管理员自助查询企业微信用户的唯一账号ID
  • 支持通过手机号或邮箱快速检索目标用户信息
  • 提高运维响应效率,精准定位问题账户

功能丰富的管理后台

用户管理模块

  • 展示完整的企业微信用户列表
  • 支持批量导入、导出及操作用户数据
  • 可查看每个用户的详细资料与权限设置

系统监控仪表盘

  • 实时呈现系统运行状态与资源使用情况
  • 生成可视化登录统计报表,辅助决策分析
  • 集中展示登录日志,便于审计追踪

配置管理中心

  • 在线编辑系统名称与全局显示参数
  • 动态调整关键运行参数,无需重启服务
  • 自定义版权信息内容,符合品牌规范

安全审计与行为追踪

  • 完整记录管理员所有操作日志
  • 持续追踪用户登录与访问行为轨迹
  • 当检测到异常登录尝试时自动发出告警通知

安装与部署说明

运行环境要求

确保服务器具备以下基础环境配置:

- PHP 版本: 7.4 或更高
- Web 服务器: Nginx 或 Apache
- 数据库: MySQL 5.7+ 或 MariaDB 10.2+
- 操作系统: Linux/Windows Server

必需的 PHP 扩展

  • OpenSSL 扩展 —— 加密通信支持
  • cURL 扩展 —— 外部接口调用依赖
  • PDO MySQL 扩展 —— 数据库连接驱动
  • JSON 扩展 —— 数据格式处理
  • MBString 扩展 —— 多字节字符串处理

推荐安装的扩展

  • Redis 扩展:用于缓存会话数据,提升性能
  • GD 库:支持图形化验证码生成

项目目录结构说明

了解标准目录布局有助于正确部署和维护系统:

verifyguard/
├── admin/                    # 管理后台
│   ├── logs/                # 日志目录(需写入权限)
│   └── ...
├── api/                     # API接口
│   ├── callback.php         # 企业微信回调接口
│   └── ...
├── data/                    # 数据存储目录(需写入权限)
├── config.php              # 配置文件模板
├── index.php               # 主入口文件
└── README.md               # 说明文档

文件与目录权限设置

进入项目主目录后,执行如下命令完成权限配置:

# 切换到项目路径
cd /path/to/verifyguard

# 设置数据存储目录读写权限
chmod -R 755 data/
chmod -R 755 admin/logs/

根据所使用的Web服务器类型,赋予对应运行用户写入权限:

# 若使用 Apache(常见用户为 www-data 或 apache)
chown -R www-data:www-data data/
chown -R www-data:www-data admin/logs/

# 若使用 Nginx(常见用户为 nginx)
chown -R nginx:nginx data/
chown -R nginx:nginx admin/logs/

安全最佳实践建议

  • 将敏感数据目录如 data/ 移出Web根目录,防止直接访问
  • 定期归档并清理过期日志文件,避免磁盘占用过高
  • 在PHP配置中限制上传文件大小,防范恶意上传风险
data/

配置文件初始化

首先复制示例配置文件为正式配置:

cp config.example.php config.php

然后编辑 config.php 文件,填写实际参数:

// 企业微信相关配置
class WeChatWorkConfig {
    const CORP_ID = '您的企业ID';        // 企业微信 CorpID
    const AGENT_ID = '您的应用AgentId';  // 应用唯一标识
    const SECRET = '您的应用Secret';     // 应用密钥
    const REDIRECT_URI = 'https://您的域名/auth/callback';

    // 系统基本信息
    const SYSTEM_NAME = 'VerifyGuard 安全登录系统';
    const COPYRIGHT = '? 2024 您的公司名称';

    // 安全策略设置
    const ENABLE_2FA = true;           // 是否开启二次验证
    const SESSION_TIMEOUT = 7200;      // 会话有效时长(秒)

    // 邮件发送配置(用于验证码服务)
    const SMTP_HOST = 'smtp.your-domain.com';
    const SMTP_PORT = 587;
    const SMTP_USER = 'noreply@your-domain.com';
    const SMTP_PASS = 'your-smtp-password';
}

数据库连接配置

在配置类中设置数据库连接参数:

class DatabaseConfig {
    const HOST = 'localhost';      // 数据库主机地址
    const PORT = '3306';          // 数据库服务端口
    const NAME = 'verifyguard_db'; // 目标数据库名
}
const USER = 'db_username';    // 数据库用户名
const PASS = 'db_password';    // 数据库密码
const CHARSET = 'utf8mb4';    // 字符集

企业微信配置指南

1. 前置准备事项

  • 确保具备企业微信管理员权限
  • 准备一个已完成工信部备案的域名(企业微信强制要求)
  • 获取服务器的公网IP地址,用于网络连通性验证

2. 后台应用配置流程

步骤一:创建自建应用

- 登录企业微信管理后台 - 进入【应用管理】→【自建应用】模块 - 点击“创建应用”按钮 - 填写以下信息: - 应用名称:VerifyGuard 安全登录 - 应用Logo:上传系统标识图像 - 应用介绍:简要描述其核心功能与用途

步骤二:获取关键凭证信息

在新建应用的详情页中,记录以下三项重要参数: - AgentId:该应用的唯一标识ID - Secret:应用密钥,请务必加密保存,避免泄露 - CorpID:企业身份ID,可在“我的企业”页面查看

步骤三:设置网页授权域名

- 在应用详情中找到【网页授权及JS-SDK】选项 - 点击“修改”并配置可信域名
https://your-domain.com
注意事项:
  • 所填域名必须已完成ICP备案
  • 必须支持HTTPS协议访问
  • 确保DNS解析正确指向当前服务器IP

步骤四:启用二次验证机制

- 导航至【管理工具】→【安全与开发】→【二次验证】 - 点击“设置”按钮 - 输入二次验证页面的完整URL路径
https://xxx/api/callback.php
- 保存配置以生效

步骤五:设定应用可见范围

- 回到应用详情页,定位到“可见范围”设置项 - 选择允许使用此系统的部门或指定成员 - 提交更改完成授权分配

3. 回调接口可用性验证

企业微信将自动发起回调测试,请确保满足以下条件: - 应用服务已部署至公网可访问环境 - HTTPS证书有效且未过期 - 回调接口地址能够正常响应请求

用户使用说明

首次访问方式

方式一:通过企业微信内部访问
  1. 在企业微信客户端点击对应的应用图标
  2. 系统自动跳转至登录认证页面
  3. 完成身份确认流程
  4. 进入主操作界面
方式二:通过浏览器直接访问
  1. 打开任意浏览器,输入系统访问地址
  2. 选择登录方式:
    • 企业微信一键登录(推荐)
    • 验证码登录(支持手机或邮箱)
    • 传统账号密码登录

登录方式详细说明

1. 企业微信快捷登录

适用场景:已在企业微信环境中登录的用户

操作流程:

  1. 点击“企业微信登录”按钮
  2. 授权应用获取基本用户信息
  3. 系统自动完成鉴权并跳转主页

2. 验证码登录

手机号登录流程:

  1. 输入注册手机号码
  2. 点击“获取验证码”
  3. 接收短信中的6位数字码
  4. 填写后提交完成登录

邮箱登录流程:

  1. 输入绑定邮箱地址
  2. 点击“获取验证码”
  3. 查收邮件并复制验证码
  4. 填入表单并登录

个人中心功能概述

成功登录后,用户可在个人中心执行以下操作: - 查看账户基本信息 - 更新个人资料(如头像、昵称等) - 浏览历史登录记录 - 管理已授权的登录设备 - 修改登录密码

管理员操作手册

1. 管理员登录流程

- 访问专用后台入口地址
https://xxx/admin/
- 使用管理员账号进行登录 - 默认账号信息请参考代码配置文件
config.php
- 首次登录建议立即修改初始密码以提升安全性

2. 用户管理功能

查看用户列表

- 进入【用户管理】→【用户列表】 - 显示所有已注册用户的详细信息 - 支持按部门和账号状态进行筛选查询

用户状态控制

强制下线操作:

  1. 定位目标用户条目
  2. 点击“强制下线”按钮
  3. 确认执行操作

启用/禁用账号:

  1. 勾选需操作的一个或多个账号
  2. 点击“启用”或“禁用”按钮
  3. 可选填写操作原因备注

账号信息检索

- 进入【用户管理】→【账号查询】 - 输入手机号或邮箱地址 - 查询对应的用户在企业微信中的唯一ID

3. 系统运行监控

仪表盘概览

- 登录后台后默认进入首页仪表板 - 实时展示关键运行指标:
  • 当前在线用户数量
  • 当日累计登录次数
  • 系统整体运行健康状态
  • 异常登录行为告警提示

登录日志审计

- 进入【日志管理】→【登录日志】 - 查阅完整的用户登录历史 - 支持按照时间范围、用户账号、访问IP等维度筛选 - 可导出日志数据用于分析或存档

4. 系统参数配置

全局基础设置

- 路径:【系统设置】→【基本配置】 - 可调整项目包括:
  • 系统显示名称
  • 版权信息文本
  • 登录页面视觉样式
  • 会话超时时间(单位:分钟)

安全策略定义

- 路径:【系统设置】→【安全策略】 - 配置内容涵盖:
  • 是否开启二次验证
  • 验证码有效时长
  • 密码复杂度规则(长度、字符类型等)
  • IP白名单限制设置

5. 日常运维任务

数据备份操作

定期执行数据库和配置文件备份,命令如下:
# 手动导出数据库
mysqldump -u username -p verifyguard_db > backup_$(date +%Y%m%d).sql

# 备份当前配置文件
cp config.php config_backup_$(date +%Y%m%d).php

日志清理策略

为防止磁盘占用过高,应定期清理旧日志:
# 删除30天前的所有日志文件
find admin/logs/ -name "*.log" -mtime +30 -delete

系统版本更新流程

  1. 从官方渠道下载最新版本包
  2. 备份现有程序文件与数据库
  3. 替换主程序文件,保留原有配置文件
  4. 如有提供更新脚本,需运行以完成结构升级
  5. 全面测试各项功能是否正常

常见问题排查

问题1:无法完成企业微信登录

可能原因:

  • 企业微信后台配置存在错误
  • 回调地址填写不准确
  • 域名未备案或HTTPS证书无效

解决方案:

  • 核对并修正相关配置项
    config.php
  • 验证回调URL的可达性
  • 确认域名已完成备案且SSL证书处于有效期内

问题2:验证码发送失败

可能原因:

  • SMTP邮件服务配置有误
  • 邮件服务商设置了发送限制
  • 短时间内请求频率过高触发风控

解决方案:

  • 检查邮件服务器连接参数
  • 查阅邮件发送日志定位具体错误
  • 适当延长验证码请求间隔时间

问题3:出现权限不足提示

可能原因:

  • 目录归属或读写权限设置不当
  • Web服务运行用户无对应写入权限

解决方案:

# 修复数据目录权限
chown -R www-data:www-data data/
chmod -R 755 data/

问题4:数据库连接失败

可能原因:

  • 数据库服务未启动
  • 连接参数(用户名、密码、主机地址)错误
  • 网络不通或防火墙阻止访问
  • 数据库最大连接数已达上限

常见问题及解决方案:

数据库相关问题
可能出现的问题包括数据库配置不正确、数据库服务未正常启动或网络连接异常。
对应的解决方式如下:
- 核实数据库的配置参数是否准确
- 确保数据库服务处于运行状态
- 进行网络连通性测试以排除连接故障

日志文件位置说明
系统日志:

admin/logs/system_YYYYMMDD.log

错误日志:
admin/logs/error_YYYYMMDD.log

访问日志:通常位于Web服务器的日志目录中

故障排查建议
- 详细查阅本指南及相关说明文档
- 检查错误日志,获取具体的错误信息以便定位问题
- 如问题仍未解决,可前往项目社区发帖提问

对于严重或紧急的技术问题,可直接联系开发团队寻求支持。

参与项目贡献
我们欢迎用户通过以下步骤提交 Issue 或 Pull Request:
1. Fork 项目仓库
2. 创建新的功能分支
3. 提交您的修改内容
4. 发起 Pull Request 合并请求
项目仓库地址:https://cnb.cool/cqbkxx.cn/VerifyGuard

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:verify GUARD Ver Copyright localhost

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注ck
拉您进交流群
GMT+8, 2026-2-7 09:28