Security / PHP + Rust + Go

每个请求先过一道盾

31 个无状态检测器加 4 项身份校验,命中即拦截,日志与黑名单自动跟进。

小盾 - Security PHP 项目宠物,security 的项目宠物

31 个检测器守住每个请求

security-php 用正则模式与结构分析扫描 GET、POST、Cookie 与文件上传,覆盖注入、SSRF、XXE、反序列化、JWT 与敏感数据泄露。

身份层另外检查会话劫持、异地登录、数据篡改与登录暴力破解;命中后按检测器状态码拦截,浏览器收到拦截页,API 收到纯文本。

  • 31 个无状态检测器
  • 4 项身份校验
  • File / Redis / Cache
31攻击检测器
4身份校验项
0外部依赖
小盾 - Security PHP 项目宠物 的 微笑 表情

小盾

一块带笑脸的蓝色盾牌,手持放大镜,代表按请求拦截并检测攻击的安全守卫。

拦下来,也看得见。

从输入扫描到身份校验

检测、归并、记录、拦截走同一条链路。

31 个检测器

覆盖注入、SSRF、XXE、反序列化、JWT、上传与数据泄露。

分组建链

25 个检测器继承统一正则基类,按优先级顺序执行。

编码归一化

URL 编码、双重编码、全角与 HTML 实体解码后重新扫描。

身份四检

会话劫持、异地登录、数据篡改与暴力破解锁定。

可插拔存储

File、Redis、Cache 三种后端,黑名单与身份检测共用。

拦截页

浏览器收到带小盾的 HTML 页,API 客户端收到纯文本。

同一能力,Rust 与 Go 版本

PHP 版本之外,Rust 与 Go 各自提供同一套攻击检测能力。

Rust v4.0.0 Rust 1.88 / crate

security-rust

Rust 版攻击检测库

32 个检测器覆盖注入、协议、数据与文件四类攻击,另有会话安全、限流封禁与风险评分。

  • 32 个检测器
  • 会话与限流
  • 零框架依赖
查看 Rust 仓库
Go v1.0.29 Go 1.24 / 标准库

security-go

Go 版攻击检测库

36 个检测器覆盖 6 大攻击类别,配套 3 种存储后端,纯检测库适配任意 Go HTTP 框架。

  • 36 个检测器
  • 6 大攻击类别
  • 3 种存储后端
查看 Go 仓库

安全能力是这样叠起来的

每个版本都来自真实的提交记录。

v1.5.0

Yii2 与 Yii3 适配

新增 Yii2 请求事件 Bootstrap 与 Yii3 PSR-15 两条接入路径。

v1.4.0

拦截页与检测链提速

新增浏览器小盾拦截页,正则预筛把典型表单扫描从 21.7ms 降到 6.0ms。

v1.3.3

修复遮蔽与上传检测

修复同名参数跨来源遮蔽导致的漏检,恢复失效的文件上传内容扫描。

v1.3.0

身份校验层落地

新增会话劫持、异地登录、数据篡改与登录锁定,附归一化与响应头。

版本日志

最近的发布记录,完整列表在 GitHub Releases。

最新 v1.5.0 全部版本
v1.5.02026-09-29

新增 Yii2 与 Yii3 适配,补齐原生 PHP 接入说明。

v1.4.22026-09-25

补充原生 PHP 的 PHPSESSID 必改项与配置注释。

v1.4.12026-09-25

同步原生 PHP 接入、加固行为与配置文档。

v1.4.02026-09-25

新增 HTML 拦截页,检测链加入正则预筛提速。

v1.3.32026-09-15

修复同名遮蔽漏检与失效的文件上传检测。

v1.3.22026-09-15

补齐无框架支持文档与设计说明。

安装与使用

先安装,再接入一次请求扫描。

PHP >= 8.0 / 零外部依赖完整 README
安装
composer require erikwang2013/security-php
最小示例
$threats = security_scan_current_request();

if (!empty($threats)) {
    foreach ($threats as $threat) {
        echo "检测到攻击: {$threat->type} - {$threat->detail}\n";
    }
}

security_guard();

小盾的十二种表情

鼠标停一停,它会换一种心情。

搜索本站

输入关键词,例如“上传”“迁移”“JWT”。