专为Typecho设计的高级IP访问控制插件,提供全方位的网站安全防护。支持多种工作模式、智能威胁检测、访问间隔控制等高级功能,让您的网站安全无忧。
- 黑名单模式:拦截指定的恶意IP地址
- 白名单模式:仅允许受信任的IP访问
- 智能模式:自动识别和拦截可疑访问
- 完全禁止访问:彻底拦截黑名单IP
- 限制访问频率:仅限制黑名单IP的访问间隔
- 设置IP访问间隔时间(默认10秒)
- 防止恶意快速请求和暴力破解
- 基于内存缓存的高性能检测
- 访问频率异常:检测短时间内过度访问
- User-Agent异常:识别可疑工具和脚本
- User-Agent白名单:支持可信任User-Agent的完整匹配和部分匹配
- 来源异常:检测恶意referer和攻击关键词
- 行为模式异常:识别异常的访问模式
- 专业的安全控制台界面
- 24小时拦截趋势图表
- 详细的拦截统计分析
- 实时日志记录和分页浏览
- 单个IP:
192.168.1.100 - IP范围:
192.168.1.1-50 - 通配符:
192.168.1.* - CIDR网段:
192.168.1.0/24
插件新增了强大的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规则
- 注释支持:使用
#开头的行作为注释 - 匹配方式:支持完整匹配和部分匹配(不区分大小写)
- 优先级:在所有检测之前执行,优先级最高
- 建议配置:
- 搜索引擎爬虫(Googlebot、Bingbot、BaiduSpider等)
- 常用浏览器关键词(chrome、firefox、safari等)
- 移动设备标识(iPhone、Android等)
- 可信任的监控工具
- 今日拦截数量
- 总计拦截数量
- 活跃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错误
- 增强了类加载适配器,提高了与各种环境的兼容性
- 修复大量插件激活/停用相关的问题
- 代码结构优化,改进了错误处理机制
- 优化IP规则匹配机制,正确处理注释
- 改进智能检测的触发条件,降低误判率
- 增强频率异常检测精度
- 优化User-Agent和Referer异常检测
- 新增调试模式,便于排查问题
- 修复多处潜在的安全隐患
- 代码重构,提升性能和稳定性
- 新增访问间隔控制功能
- 新增黑名单处理模式选择
- 新增独立的安全控制台
- 新增24小时拦截趋势图表
- 改进日志记录机制(仅记录拦截)
- 优化统计信息显示
- 提升性能和稳定性
- 智能检测模式
- 多种IP规则格式支持
- 自动黑名单功能
- 实时日志记录
- 24小时统计图表
- 控制台管理界面
如遇到问题或有功能建议,请:
- 检查环境是否满足要求
- 查看控制台是否有错误日志
- 确认配置是否正确
- 联系插件作者寻求支持
作者博客:https://blog.ybyq.wang/



