ArtisanPack-UI/security
GitHub: ArtisanPack-UI/security
ArtisanPack-UI/security 是一个Laravel安全核心包,提供输入清理、输出转义和CSP管理等基础功能,帮助开发者简化Web应用的安全实现。
Stars: 0 | Forks: 1
# ArtisanPack UI 安全
[](https://packagist.org/packages/artisanpack-ui/security)
**核心** Laravel 安全工具包,属于 ArtisanPack UI 生态系统。专注于输入清理、输出转义、KSES 过滤、安全头部、XSS 防护、基本速率限制以及内容安全策略。
## 此包包含什么
- **清理** — `sanitizeEmail`、`sanitizeUrl`、`sanitizeText`、`sanitizeInt`、`sanitizeArray` 等
- **转义** — `escHtml`、`escAttr`、`escUrl`、`escJs`、`escCss`(由 Laminas Escaper 支持)
- **KSES 过滤** — `kses()` WordPress 风格的允许标签过滤
- **验证规则** — `NoHtml`、`SecureUrl`
- **中间件** — `csp`、`security.headers`、`xss.protection`、`api.security`、`api.rate_limit`
- **内容安全策略** — nonce 生成器、策略构建器、预设、违规报告端点、CSP 仪表板 Livewire 组件(可选 — 需要 `livewire/livewire`)、Artisan 命令(`csp:test`、`csp:stats`、`csp:prune`、`security:generate-csp`)
- **安全审计命令** — `security:audit`、`security:scan`、`security:baseline`、`security:benchmark`、`security:check-config`、`security:test-headers`、`security:scan-deps`
- **测试基础设施** — OWASP 扫描器、配置扫描器、渗透测试辅助工具、性能基准测试、报告生成器
## 此包**不包含**什么(兄弟包)
| 功能 | 包 |
|---|---|
| 认证、2FA、密码复杂度、泄露检查、账户锁定、高级会话 | `artisanpack-ui/security-auth` |
| WebAuthn / FIDO2、SSO (SAML/OIDC)、社交登录、生物识别、设备指纹 | `artisanpack-ui/security-advanced-auth` |
| 角色 + 权限(Blade 指令、Gate 集成、Artisan 命令) | `artisanpack-ui/rbac` |
| 安全上传、恶意软件扫描 (ClamAV / VirusTotal)、上传速率限制 | `artisanpack-ui/secure-uploads` |
| 安全事件日志、异常检测、威胁情报、SIEM 导出、仪表板 | `artisanpack-ui/security-analytics` |
| GDPR / CCPA / LGPD — 同意、数据主体请求、DPIA、数据最小化、保留 | `artisanpack-ui/compliance` |
## 安装
```
composer require artisanpack-ui/security
```
发布配置文件:
```
php artisan vendor:publish --tag=security-config
```
## 快速入门
```
use ArtisanPackUI\Security\Facades\Security;
$cleanEmail = Security::sanitizeEmail($userEmail);
echo Security::escHtml($userContent);
```
或使用全局辅助函数:
```
$cleanEmail = sanitizeEmail($userEmail);
echo escHtml($userContent);
```
### 中间件
```
Route::middleware(['csp', 'security.headers', 'xss.protection'])->group(function () {
// ...
});
Route::middleware('api.rate_limit:api')->group(function () {
// ...
});
```
### Blade 中的 CSP nonce
```
```
## 文档
- [入门指南](docs/getting-started.md)
- [API 参考](docs/api-reference.md)
- [安全指南](docs/security-guidelines.md)
- [从 1.x 升级到 2.0](UPGRADE.md)
- [更新日志](CHANGELOG.md)
## 系统要求
- PHP 8.2+
- Laravel 10 / 11 / 12
## 兄弟包
| 包 | 范围 |
|---|---|
| [`artisanpack-ui/security-full`](https://github.com/ArtisanPack-UI/security-full) | 元包 — 通过单个 require 引入完整的安全套件(以下所有六个包) |
| [`artisanpack-ui/rbac`](https://github.com/ArtisanPack-UI/rbac) | 角色、权限、层级、Blade 指令、Gate 集成 |
| [`artisanpack-ui/security-auth`](https://github.com/ArtisanPack-UI/security-auth) | 2FA、密码复杂度、账户锁定、会话 |
| [`artisanpack-ui/security-advanced-auth`](https://github.com/ArtisanPack-UI/security-advanced-auth) | WebAuthn、SSO、社交登录、生物识别、设备指纹 |
| [`artisanpack-ui/secure-uploads`](https://github.com/ArtisanPack-UI/secure-uploads) | 文件验证、恶意软件扫描、签名 URL 服务 |
| [`artisanpack-ui/security-analytics`](https://github.com/ArtisanPack-UI/security-analytics) | 事件日志、异常检测、SIEM、仪表板 |
| [`artisanpack-ui/compliance`](https://github.com/ArtisanPack-UI/compliance) | GDPR / CCPA / LGPD 同意、数据主体权利、DPIA、保留、监控 |
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:Artisan 命令, Composer 包, CSP, ffuf, KSES 过滤, Laravel, Livewire, Packagist, PHP 安全, Web 安全, Web 应用安全, XSS 防护, YAML, 内容安全策略, 安全中间件, 安全增强, 安全头, 安全工具包, 安全库, 安全扫描, 安全报告, 安全标准, 安全测试, 安全策略, 安全组件, 安全配置, 安全防护, 提示词设计, 攻击性安全, 时序注入, 服务器监控, 网络安全, 规则仓库, 输入清理, 输出转义, 防护工具, 隐私保护