# AdvancedBlockIP **Repository Path**: meda/AdvancedBlockIP ## Basic Information - **Project Name**: AdvancedBlockIP - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-19 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高级IP访问控制插件 v2.3.2 ## 插件简介 专为Typecho设计的高级IP访问控制插件,提供全方位的网站安全防护。支持多种工作模式、智能威胁检测、访问间隔控制等高级功能,让您的网站安全无忧。 ## 核心功能 ### 多种工作模式 - **黑名单模式**:拦截指定的恶意IP地址 - **白名单模式**:仅允许受信任的IP访问 - **智能模式**:自动识别和拦截可疑访问 ### 黑名单处理选项 - **完全禁止访问**:彻底拦截黑名单IP - **限制访问频率**:仅限制黑名单IP的访问间隔 ### 访问间隔控制 - 设置IP访问间隔时间(默认10秒) - 防止恶意快速请求和暴力破解 - 基于内存缓存的高性能检测 ### 智能威胁检测 - **访问频率异常**:检测短时间内过度访问 - **User-Agent异常**:识别可疑工具和脚本 - **来源异常**:检测恶意referer和攻击关键词 - **行为模式异常**:识别异常的访问模式 ### 独立控制台 - 专业的安全控制台界面 - 24小时拦截趋势图表 - 详细的拦截统计分析 - 实时日志记录和分页浏览 ### 多种IP规则支持 - **单个IP**:`192.168.1.100` - **IP范围**:`192.168.1.1-50` - **通配符**:`192.168.1.*` - **CIDR网段**:`192.168.1.0/24` ## 预览 ### 后台效果 ![image](https://github.com/user-attachments/assets/8b9e4fe3-df13-4012-a331-a382b69d38c3) ![image](https://github.com/user-attachments/assets/bf7ef9f3-9858-4010-81f6-f82761208600) ![image](https://github.com/user-attachments/assets/9e397710-8e59-4dcf-a993-7ba0ee921a72) ### 被拦截效果 ![image](https://github.com/user-attachments/assets/afaf7a95-7d9e-4791-a3e1-9c37c6a1ac4c) ## 安装指南 ### 环境 Typecho 1.2.1 php 8.0 ### 第一步:上传插件 将插件解压到 `usr/plugins/AdvancedBlockIP/` 目录 ### 第二步:启用插件 在Typecho后台的"插件管理"页面启用插件 ### 第三步:基础配置 1. 选择工作模式(推荐智能模式) 2. 设置访问间隔限制(默认10秒) 3. 将自己的IP添加到白名单 4. 根据需要配置黑名单 ## 配置说明 ### 工作模式 - **黑名单模式**:默认允许所有访问,拦截指定IP - **白名单模式**:默认拦截所有访问,仅允许指定IP - **智能模式**:基于行为分析自动检测威胁 ### 黑名单处理模式 - **完全禁止访问**:黑名单IP无法访问网站 - **限制访问频率**:黑名单IP受访问间隔限制 ### 访问间隔设置 - 单位:秒 - 范围:0-3600(0为不限制) - 推荐:10-30秒 ### 调试模式 - 记录详细的运行日志到服务器error_log - 包含IP访问记录、规则匹配过程、智能检测触发原因等 - 建议仅在排查问题时开启 ## 控制台功能 ### 统计概览 - 今日拦截数量 - 总计拦截数量 - 活跃IP统计 - 拦截类型分析 ### 24小时趋势图 - 按小时显示拦截趋势 - 鼠标悬停显示详细数据 - 可视化安全状态 ### 拦截原因统计 - 黑名单拦截 - 访问过频 - 智能检测 - 非白名单等 ### 最活跃IP - 显示拦截次数最多的IP - 便于识别持续攻击源 - 支持快速加入黑名单 ### 详细日志 - 完整的拦截记录 - 时间、IP、原因、UA等信息 - 分页浏览和搜索 - 一键清空日志 - 支持删除当前页日志 ## 高级功能 ### 自定义拦截消息 支持HTML格式的自定义拦截提示页面 ### 行内注释支持 在IP规则后添加行内注释,不会影响规则匹配 ``` 192.168.1.100 # 这是行内注释,不会影响规则匹配 10.0.0.0/8 # 私有网络,内部使用 ``` ### 邮件通知 配置管理员邮箱接收安全警报(需要配合邮件插件) ### 向后兼容 自动兼容旧版本的配置字段,无缝升级 ## 控制台访问 插件启用后,在后台顶部导航栏会出现"IP防护控制台"链接,点击即可进入专业的安全管理界面。 ## 插件工作流程 插件按照以下优先级和流程处理每个访问请求: ### 访问检测优先级(从高到低) 1. **白名单检查** - 最高优先级,直接放行 2. **黑名单检查** - 第二优先级 - 完全禁止模式:直接拦截 - 频率限制模式:智能检测 → 频率控制 3. **模式处理** - 智能模式:仅智能检测,通过后直接放行 - 白名单模式:非白名单直接拦截 - 黑名单模式:记录访问并放行 ### 完整检测流程 ``` 访问请求 → 白名单检查 → 黑名单检查 → 智能检测 → 放行 ↓ ↓ ↓ 直接放行 拦截/限频 自动拉黑 ``` ### 两种频率机制的区别 | 机制 | 访问频率控制 | 频率异常检测 | |------|-------------|-------------| | **目的** | 限制黑名单IP | 威胁识别 | | **适用范围** | 仅黑名单IP | 所有IP(除白名单) | | **触发条件** | 访问间隔过短 | 异常访问模式 | | **处理方式** | 暂时拒绝访问 | 自动拉黑IP | | **日志标记** | 访问过频 | 频率异常 | | **配置项** | accessInterval | 固定规则 | ### 智能检测触发条件 - **快速访问**:1秒内访问2个不同URL - **短期频繁**:5秒内访问3次 - **中期频繁**:10秒内访问6次 ## 安全建议 1. **首次配置**:将自己的IP加入白名单 2. **测试环境**:在测试环境充分验证配置 3. **定期检查**:定期查看控制台统计和日志 4. **备份配置**:定期备份插件配置和数据库 5. **合理设置**:根据网站访问量调整间隔时间 6. **调试模式**:仅在排查问题时开启调试模式 7. **日志维护**:定期清理过期日志 ## 更新日志 **v2.3.2 (2025-07-11)** - 修复:修复了因插件首次激活或配置不存在时,访问网站会导致程序崩溃的致命错误。 **v2.3.1 (2025-07-10)** - 修复:修复了在IP防护控制台中,手动添加的黑名单条目不显示添加时间戳的问题。 - 修复:修复了禁用再启用插件后,已保存的配置(黑名单/白名单)无法在设置页面正确显示的问题。 - 修复:修复了在IP防护控制台删除黑名单条目后,由于换行符处理不当导致列表格式错乱的问题。 - 优化:通过在多个关键位置(`header`, `footer`, `handle`等)增加钩子,增强了IP拦截功能的触发几率,确保其在各种场景下都能可靠生效。 **v2.3.0 (2025.06.23)** - 新增:全新的“IP防护控制台”,提供可视化界面,方便用户实时查看和管理黑名单、白名单、拦截日志和访问日志。 - 新增:日志分页功能,优化大量日志查看体验。 - **修复**: 修复了插件在Typecho 1.2.1及PHP 8.0+环境下后台菜单不显示的问题。 - **新增**: 引入兼容适配器,解决了新版Typecho的类命名空间问题。 - 改进后台控制台菜单项的添加方式,解决404错误 - 增强了类加载适配器,提高了与各种环境的兼容性 - 修复大量插件激活/停用相关的问题 - 代码结构优化,改进了错误处理机制 ### v2.2.0 (2025.06.06) - 优化IP规则匹配机制,正确处理注释 - 改进智能检测的触发条件,降低误判率 - 增强频率异常检测精度 - 优化User-Agent和Referer异常检测 - 新增调试模式,便于排查问题 - 修复多处潜在的安全隐患 - 代码重构,提升性能和稳定性 ### v2.1.0 (2025.05.13) - 新增访问间隔控制功能 - 新增黑名单处理模式选择 - 新增独立的安全控制台 - 新增24小时拦截趋势图表 - 改进日志记录机制(仅记录拦截) - 优化统计信息显示 - 提升性能和稳定性 ### v2.0.0 (2025.04.05) - 智能检测模式 - 多种IP规则格式支持 - 自动黑名单功能 - 实时日志记录 - 24小时统计图表 - 控制台管理界面 ## 问题反馈 如遇到问题或有功能建议,请: 1. 检查环境是否满足要求 2. 查看控制台是否有错误日志 3. 确认配置是否正确 4. 联系插件作者寻求支持 作者博客:https://blog.ybyq.wang/