
源码系统概览
文章正文
Security PHP 是一套轻量级安全攻击检测组件源码,通过正则模式匹配与结构分析检测常见 Web 攻击载荷,内置 31 个无状态攻击检测器与 4 项跨请求身份校验,在 WAF 之外补齐代码层防护。
项目作者为开发者 erik,MIT 协议开源,要求 PHP 8.0 以上零外部依赖,README 最后更新 2026 年,测试规模 427 用例加 1041 断言,四框架中间件接入。
源码简介
检测矩阵覆盖 XSS、SQL 与 NoSQL 注入、SSRF、XXE、路径遍历、反序列化、JWT 攻击等三十余种威胁类型。
身份校验覆盖会话劫持检测、异地登录提醒、数据篡改签名校验与登录暴力破解锁定四项。
每个检测器独立开关与拦截日志双模式,IP 白名单支持双栈网段,攻击升级自动封禁。
编码归一化预处理对抗多重编码与全角字符绕过,File、Redis、缓存三种存储后端按需切换。
和 Cloudflare WAF 对比,区别在于 Security PHP 部署在应用代码层,不依赖外部服务即可完成请求检测。
| 对比维度 | Security PHP | Cloudflare WAF |
|---|---|---|
| 部署位置 | 应用代码层中间件 | 网络边缘代理 |
| 外部依赖 | 零依赖纯 PHP | 需 DNS 接入 |
| 规则定制 | 检测器级开关加自定义 | 平台规则统一 |
| 成本 | MIT 免费自部署 | 按流量订阅 |
想在应用层加一道不依赖外部的攻击防线,这个组件一行中间件即可把检测链路挂进请求流程。
适用场景
- API 服务做应用层攻击载荷检测。
- 老旧系统在不动业务代码前提下加防护。
- 内网系统补充 WAF 覆盖不到的注入场景。
- 学习攻击特征与检测规则设计。
技术栈与运行环境
组件要求 PHP 8.0 以上零外部依赖,Redis 存储模式可选,持久化数据中敏感信息只存哈希。
适配 Laravel、webman、ThinkPHP 与 Hyperf 四框架,也可脱离框架用全局函数直接接入。
安装执行 composer require 后发布配置并注册中间件,检测器开关与模式在配置文件管理。
功能亮点
- 31 个无状态检测器覆盖三十余种威胁。
- 会话劫持异地登录篡改与爆破四项身份校验。
- 检测器级开关加拦截日志双模式。
- IP 白名单双栈网段加攻击升级自动封禁。
- 编码归一化对抗多重编码绕过。
技术架构与部署指南
安装与部署提示
执行 composer require erikwang2013/security-php 完成安装,Laravel 自动发现发布配置即可。
按框架注册中间件并调整检测器开关,签名密钥通过环境变量注入切勿写入版本库。
包内代码对应 v2026.9.0 口径版本,更新日志以仓库提交记录为准,最后更新 2026 年 9 月。
截图与演示说明

项目 README 以检测器清单与打赏码为主,未附界面截图,本页配图采用 GitHub 仓库社交分享卡片。
组件为代码库形态,接入后发起模拟攻击请求即可验证拦截与日志效果。
接入后向业务接口发送模拟攻击载荷即可在日志中看到检测命中与拦截记录。
常见问题
问. Security PHP 是什么组件?
轻量级安全攻击检测组件源码,31 个检测器覆盖常见 Web 威胁加四项身份校验,四框架中间件接入,MIT 协议零外部依赖。
问. 怎么安装使用?
PHP 8.0 以上执行 composer require 安装,发布配置注册中间件后自动扫描请求,检测器开关在配置文件管理。
问. 和 Cloudflare WAF 有什么区别?
Cloudflare 在网络边缘按流量收费,本组件部署在应用代码层零外部依赖,规则可按业务精细开关,两者可叠加使用。
问. 会误拦正常请求吗?
高误报的检测器默认日志模式不拦截,确认业务无影响后再切换拦截模式,README 附误报调优指引。
安全风险提示
对 75 个源码文件做了扫描,代码明文无加密混淆,未发现 webshell 与凭据硬编码。
扫描命中的攻击样例字符串均位于测试用例,属检测器的测试数据并非真实风险。
签名密钥与敏感会话数据分别走环境变量与哈希落盘,README 强调密钥严禁入库。
下载说明
本页提供 Security PHP 安全防护组件完整源码打包下载,含 31 个检测器与四框架适配层。
压缩包内附设计文档与测试报告,解压后按框架接入文档配置即可使用。
GitHub项目开源地址 https://github.com/erikwang2013/security-php