AdvancedBlockIP-专为Typecho设计的高级IP访问控制插件
专为Typecho设计的高级IP访问控制插件,提供全方位的网站安全防护。支持多种工作模式、智能威胁检测、访问间隔控制等高级功能,让您的网站安全无忧。
核心功能
多种工作模式
黑名单模式:拦截指定的恶意IP地址
白名单模式:仅允许受信任的IP访问
智能模式:自动识别和拦截可疑访问
黑名单处理选项
完全禁止访问:彻底拦截黑名单IP
限制访问频率:仅限制黑名单IP的访问间隔
访问间隔控制
设置IP访问间隔时间(默认10秒)
防止恶意快速请求和暴力破解
基于内存缓存的高性能检测
智能威胁检测
访问频率异常:检测短时间内过度访问
User-Agent异常:识别可疑工具和脚本
User-Agent白名单:支持可信任User-Agent的完整匹配和部分匹配
来源异常:检测恶意referer和攻击关键词
行为模式异常:识别异常的访问模式
独立控制台
专业的安全控制台界面
24小时拦截趋势图表
详细的拦截统计分析
实时日志记录和分页浏览
多种IP规则支持
单个IP:
192.168.1.100IP范围:
192.168.1.1-50通配符:
192.168.1.*CIDR网段:
192.168.1.0/24
User-Agent白名单功能
插件新增了强大的User-Agent白名单功能,为可信任的用户代理提供全面保护:
功能特点
完整匹配:支持完整User-Agent字符串的精确匹配
部分匹配:支持关键词的部分匹配,灵活识别
不区分大小写:匹配过程不区分大小写,提高兼容性
支持注释:可在配置中添加注释,便于管理
智能集成:与智能检测模式无缝集成,优先级最高
自动跳过检测:白名单User-Agent自动跳过所有异常检测
配置格式
# 完整User-Agent字符串(完整匹配)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
# 关键词(部分匹配)
Googlebot # Google搜索引擎
Bingbot # Bing搜索引擎
BaiduSpider # 百度搜索引擎
chrome # 包含chrome的User-Agent
safari # 包含safari的User-Agent
# 移动设备
iPhone
Android
# 开发工具(谨慎添加)
Postman
curl
工作原理
优先级最高:在所有检测之前首先进行User-Agent白名单检查
完整匹配优先:先尝试完整User-Agent字符串匹配
部分匹配补充:如果完整匹配失败,再进行关键词部分匹配
自动放行:匹配成功的请求直接跳过所有后续检测
智能集成:与现有的IP白名单、智能检测等功能完美配合
预览
后台效果



被拦截效果
安装指南
环境
Typecho 1.2.1 php 8.0
第一步:上传插件
将插件解压到 usr/plugins/AdvancedBlockIP/ 目录
第二步:启用插件
在Typecho后台的"插件管理"页面启用插件
第三步:基础配置
选择工作模式(推荐智能模式)
设置访问间隔限制(默认10秒)
将自己的IP添加到白名单
配置User-Agent白名单(推荐添加常用搜索引擎爬虫)
根据需要配置黑名单
配置说明
工作模式
黑名单模式:默认允许所有访问,拦截指定IP
白名单模式:默认拦截所有访问,仅允许指定IP
智能模式:基于行为分析自动检测威胁
黑名单处理模式
完全禁止访问:黑名单IP无法访问网站
限制访问频率:黑名单IP受访问间隔限制
访问间隔设置
单位:秒
范围:0-3600(0为不限制)
推荐:10-30秒
调试模式
记录详细的运行日志到服务器error_log
包含IP访问记录、规则匹配过程、智能检测触发原因等
建议仅在排查问题时开启
User-Agent白名单配置
配置位置:插件设置页面的"User-Agent白名单"文本框
格式要求:每行一个User-Agent规则
注释支持:使用
#开头的行作为注释匹配方式:支持完整匹配和部分匹配(不区分大小写)
优先级:在所有检测之前执行,优先级最高
建议配置:
搜索引擎爬虫(Googlebot、Bingbot、BaiduSpider等)
常用浏览器关键词(chrome、firefox、safari等)
移动设备标识(iPhone、Android等)
可信任的监控工具
控制台功能
统计概览
今日拦截数量
总计拦截数量
活跃IP统计
拦截类型分析
24小时趋势图
按小时显示拦截趋势
鼠标悬停显示详细数据
可视化安全状态
拦截原因统计
黑名单拦截
访问过频
智能检测
非白名单等
最活跃IP
显示拦截次数最多的IP
便于识别持续攻击源
支持快速加入黑名单
详细日志
完整的拦截记录
时间、IP、原因、UA等信息
分页浏览和搜索
一键清空日志
支持删除当前页日志
高级功能
自定义拦截消息
支持HTML格式的自定义拦截提示页面
行内注释支持
在IP规则后添加行内注释,不会影响规则匹配
192.168.1.100 # 这是行内注释,不会影响规则匹配
10.0.0.0/8 # 私有网络,内部使用
邮件通知
配置管理员邮箱接收安全警报(需要配合邮件插件)
向后兼容
自动兼容旧版本的配置字段,无缝升级
控制台访问
插件启用后,在后台顶部导航栏会出现"IP防护控制台"链接,点击即可进入专业的安全管理界面。
插件工作流程
插件按照以下优先级和流程处理每个访问请求:
访问检测优先级(从高到低)
白名单检查 - 最高优先级,直接放行
黑名单检查 - 第二优先级
完全禁止模式:直接拦截
频率限制模式:智能检测 → 频率控制
模式处理
智能模式:仅智能检测,通过后直接放行
白名单模式:非白名单直接拦截
黑名单模式:记录访问并放行
完整检测流程
访问请求 → 白名单检查 → 黑名单检查 → 智能检测 → 放行
↓ ↓ ↓
直接放行 拦截/限频 自动拉黑
两种频率机制的区别
| 机制 | 访问频率控制 | 频率异常检测 |
|---|---|---|
| 目的 | 限制黑名单IP | 威胁识别 |
| 适用范围 | 仅黑名单IP | 所有IP(除白名单) |
| 触发条件 | 访问间隔过短 | 异常访问模式 |
| 处理方式 | 暂时拒绝访问 | 自动拉黑IP |
| 日志标记 | 访问过频 | 频率异常 |
| 配置项 | accessInterval | 固定规则 |
智能检测触发条件
快速访问:1秒内访问5个不同URL
短期频繁:5秒内访问10次
中期频繁:10秒内访问20次
长期频繁:60秒内访问60次
安全建议
首次配置:将自己的IP加入白名单
User-Agent白名单:添加常用搜索引擎爬虫和可信浏览器
测试环境:在测试环境充分验证配置
定期检查:定期查看控制台统计和日志
备份配置:定期备份插件配置和数据库
合理设置:根据网站访问量调整间隔时间
调试模式:仅在排查问题时开启调试模式
日志维护:定期清理过期日志
白名单维护:定期检查和更新User-Agent白名单,移除不再需要的条目
更新日志
v2.4.1 (2025-10-09) - 重要安全更新
🔧 修复:修复白名单模式下白名单为空时拦截所有IP的严重问题
🔧 修复:修复
navBar()函数参数错误导致的后台无法访问问题🛡️ 新增:管理后台访问自动放行机制,防止管理员被误拦截
⚡ 优化:大幅放宽智能模式频率检测阈值,减少误判:
1秒内访问限制:2个URL → 5个URL
5秒内访问限制:3次 → 10次
10秒内访问限制:6次 → 20次
新增60秒内访问60次的检测
🔒 安全:白名单模式下若白名单为空,自动放行并记录警告日志
📝 改进:增强调试日志,便于排查问题
v2.4.0 (2025-08-13)
新增:User-Agent白名单功能,支持完整匹配和部分匹配
新增:User-Agent白名单与智能检测模式无缝集成,优先级最高
新增:User-Agent白名单支持注释功能,便于管理和维护
优化:智能检测流程,白名单User-Agent自动跳过异常检测
改进:配置界面新增User-Agent白名单设置项,提供详细说明和示例
功能:白名单User-Agent在智能检测中享有最高优先级,确保可信用户代理不被误拦截
v2.3.3 (2025-07-22)
修复:解决了访问记录表中的主键冲突错误,避免出现"Duplicate entry for key PRIMARY"错误日志
优化:重构了访问记录处理逻辑,现在为每个IP仅保留最新的访问记录
新增:数据库结构修复工具,可自动修复并优化表结构
优化:记录访问历史时增加了错误处理和异常捕获机制
改进:表结构优化,正确设置了主键和唯一索引
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小时统计图表
控制台管理界面
问题反馈
如遇到问题或有功能建议,请:
检查环境是否满足要求
查看控制台是否有错误日志
确认配置是否正确
联系插件作者寻求支持
