AdvancedBlockIP
AdvancedBlockIP
一款功能强大的Typecho插件,提供基于IP的黑名单、白名单和智能威胁检测功能,保护您的网站免受恶意访问和攻击。
下载
开源地址
https://github.com/BXCQ/AdvancedBlockIP
核心功能
多种工作模式
- 黑名单模式:拦截指定的恶意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
预览
后台效果



被拦截效果

安装指南
环境
Typecho 1.2.1
php 8.0
第一步:上传插件
将插件解压到 usr/plugins/AdvancedBlockIP/
目录
第二步:启用插件
在Typecho后台的"插件管理"页面启用插件
第三步:基础配置
- 选择工作模式(推荐智能模式)
- 设置访问间隔限制(默认10秒)
- 将自己的IP添加到白名单
- 根据需要配置黑名单
配置说明
工作模式
- 黑名单模式:默认允许所有访问,拦截指定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防护控制台"链接,点击即可进入专业的安全管理界面。
插件工作流程
插件按照以下优先级和流程处理每个访问请求:
访问检测优先级(从高到低)
- 白名单检查 - 最高优先级,直接放行
黑名单检查 - 第二优先级
- 完全禁止模式:直接拦截
- 频率限制模式:智能检测 → 频率控制
模式处理
- 智能模式:仅智能检测,通过后直接放行
- 白名单模式:非白名单直接拦截
- 黑名单模式:记录访问并放行
完整检测流程
访问请求 → 白名单检查 → 黑名单检查 → 智能检测 → 放行
↓ ↓ ↓
直接放行 拦截/限频 自动拉黑
两种频率机制的区别
机制 | 访问频率控制 | 频率异常检测 |
---|---|---|
目的 | 限制黑名单IP | 威胁识别 |
适用范围 | 仅黑名单IP | 所有IP(除白名单) |
触发条件 | 访问间隔过短 | 异常访问模式 |
处理方式 | 暂时拒绝访问 | 自动拉黑IP |
日志标记 | 访问过频 | 频率异常 |
配置项 | accessInterval | 固定规则 |
智能检测触发条件
- 快速访问:1秒内访问2个不同URL
- 短期频繁:5秒内访问3次
- 中期频繁:10秒内访问6次
安全建议
- 首次配置:将自己的IP加入白名单
- 测试环境:在测试环境充分验证配置
- 定期检查:定期查看控制台统计和日志
- 备份配置:定期备份插件配置和数据库
- 合理设置:根据网站访问量调整间隔时间
- 调试模式:仅在排查问题时开启调试模式
- 日志维护:定期清理过期日志