fyre / csrf
一个 CSRF 保护库。
v4.1.0
2024-08-18 02:56 UTC
Requires
- fyre/middleware: ^2.0
- fyre/server: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- fyre/session: ^4.0
- phpunit/phpunit: ^10
README
FyreCSRF 是一个免费、开源的用于 PHP 的 CSRF 保护库。
目录
安装
使用 Composer
composer require fyre/csrf
在 PHP 中
use Fyre\Security\CsrfProtection;
方法
检查令牌
检查 CSRF 令牌。
$request是 ServerRequest。
CrsfProtection::checkToken($request);
禁用
禁用 CSRF 保护。
CsrfProtection::disable();
启用
启用 CSRF 保护。
CsrfProtection::enable();
获取字段
获取 CSRF 令牌字段名称。
$field = CsrfProtection::getField();
获取头信息
获取 CSRF 令牌头信息名称。
$header = CsrfProtection::getHeader();
获取键
获取 CSRF 会话键。
$key = CsrfProtection::getKey();
获取令牌
获取 CSRF 令牌。
$token = CsrfProtection::getToken();
获取令牌哈希
获取 CSRF 令牌哈希。
$tokenHash = CsrfProtection::getTokenHash();
是否启用
确定 CSRF 保护是否启用。
$enabled = CsrfProtection::isEnabled();
设置字段
设置 CSRF 令牌字段名称。
$field是表示 CSRF 令牌字段名称的字符串。
CsrfProtection::setField($field);
设置头信息
设置 CSRF 令牌头信息名称。
$header是表示 CSRF 令牌头信息名称的字符串。
CsrfProtection::setHeader($header);
设置键
设置 CSRF 会话键。
$key是表示 CSRF 会话键的字符串。
CsrfProtection::setKey($key);
跳过检查回调
设置跳过检查回调。
$skipCheck是一个接受 ServerRequest 作为第一个参数的 Closure。
CsrfProtection::skipCheckCallback($skipCheck);
跳过检查回调应该返回 true 如果不应执行 CSRF 检查。
中间件
use Fyre\Security\Middleware\CsrfProtectionMiddleware;
$options是包含中间件选项的数组。field是表示 CSRF 令牌字段名称的字符串,默认为 "csrf_token"。header是表示 CSRF 令牌头信息名称的字符串,默认为 "Csrf-Token"。key是表示 CSRF 会话键的字符串,默认为 "_csrfToken"。skipCheck是一个接受 ServerRequest 作为第一个参数的 Closure。
$middleware = new CsrfProtectionMiddleware($options);
跳过检查回调应该返回 true 如果不应执行 CSRF 检查。
处理
$request是 ServerRequest。$handler是 RequestHandler。
$response = $middleware->process($request, $handler);
此方法将返回一个 ClientResponse。