leafsphp/csrf
GitHub: leafsphp/csrf
Leaf PHP 框架的 CSRF 防护模块,通过自动生成和校验令牌来保护 Web 应用免受跨站请求伪造攻击。
Stars: 2 | Forks: 3
Leaf Anchor CSRF
# Leaf PHP [](https://packagist.org/packages/leafs/csrf) [](https://packagist.org/packages/leafs/csrf) [](https://packagist.org/packages/leafs/csrf) 此包是 Leaf 的 CSRF 保护模块实现。它直接与 Leaf 集成,因此您无需担心为了使其工作而调整您的应用。 ## 设置说明 您可以使用 Leaf CLI 或 Composer 安装 CSRF 模块。 ``` leaf install csrf ``` ``` composer require leafs/csrf ``` ## 基本用法 安装 Leaf CSRF 后,Leaf 会自动为您加载 CSRF 包,因此您可以开始在 Leaf 实例上使用它。 ``` app()->csrf(); ``` 如果您有任何想要设置的配置,可以将其作为数组传递给 `csrf` 方法。 ``` app()->csrf([ 'methods' => ['POST', 'PUT', 'PATCH', 'DELETE'], 'except' => ['/', '/webhook'], 'secret' => 'my-secret-key', 'messages.tokenNotFound' => 'Token not found', 'messages.tokenInvalid' => 'Token is invalid', 'onError' => function () { response()->redirect('/error'); } ]); ``` ### 在 Leaf 外部使用 大多数 Leaf 模块都可以在 Leaf 外部使用,这个模块也不例外。如果您决定在 Leaf 外部使用 CSRF 模块,您将需要手动初始化该包。 ``` Leaf\Anchor\CSRF::init(); ``` 此函数使用密钥和随机哈希生成一个 token,并将其保存在 session 中。如果不存在 session,CSRF 模块将为您的应用创建一个 session,并将 token 保存在该 session 中。然后,您可以将配置作为数组传递给 `config()` 方法。 ``` Leaf\Anchor\CSRF::init(); Leaf\Anchor\CSRF::config([ ... ]); ``` 初始化 CSRF 模块后,您可以使用 `validate()` 方法作为一种 middleware 来检查 CSRF token 是否有效。 ``` Leaf\Anchor\CSRF::validate(); ``` 请务必将其置于其余代码之上,以便 CSRF 模块能够正确保护您的应用。 您可以在 [Leaf 文档](https://leafphp.dev/docs/security/csrf) 中找到此模块的完整文档。
标签:CSRF防护, ffuf, Leaf框架, OpenVAS, PHP, Syscall, Web开发, 安全防护模块