zakirullin/csrf-middleware

用于处理 CSRF-token 验证的 PSR-15 中间件

0.6.2 2019-04-25 09:16 UTC

This package is auto-updated.

Last update: 2024-09-11 16:52:47 UTC


README

Build Status Scrutinizer PHP from Packagist GitHub commits Software License

一个用于自动化 CSRF-token 验证过程的 PSR-15 中间件

要求

安装

此包可以通过 Composer 以 zakirullin/csrf-middleware 的形式安装和自动加载。

composer require zakirullin/csrf-middleware 

PHP

$getIdentity = function (\Psr\Http\Message\ServerRequestInterface $request) {
    $session = $request->getAttribute('session');
    return $session->get('id');
};

$dispatcher = new Dispatcher([
    ...
    new \Zakirullin\Middlewares\CSRF($getIdentity, 'secret'),
    ...
]);

HTML

<form method="POST" action="/dangerous/action">
    ...
    <input type="hidden" name="csrf" value="<?= $request->getAttribute('csrf') ?>">
    ...
</form>

选项

__construct(
    callable $getIdentity,
    string $secret,
    string $attribute = self::ATTRIBUTE,
    int $ttl = self::TTL,
    string $algorithm = self::ALGORITHM
)

$getIdentity(ServerRequestInterface $request)

一个回调函数,应返回一个包含某些用户唯一标识的字符串。例如 - 会话 ID

MIT 许可证 (MIT)。请参阅 LICENSE 获取更多信息。