orkhanshukurlu / php-csrf
保护您的网站免受机器人和不请自来的访客
1.0.0
2022-12-13 18:52 UTC
Requires
- php: >=7.3
This package is auto-updated.
Last update: 2024-09-14 19:20:26 UTC
README
PHP-CSRF 提供一系列功能,以帮助您保护网站免受 CSRF 攻击。使用这些功能,您不仅可以提高网站的安全性,还可以阻止机器人和不请自来的访客。
要求
- PHP 7.3+
下载
composer require orkhanshukurlu/php-csrf
使用
在使用功能的文件中需要包含 vendor/autoload.php 文件。
require __DIR__ . '/vendor/autoload.php';
功能
csrf_field(string $name = '_token', int $length = 40) - 生成 CSRF 令牌输入
$name- 将生成的input的名称(即name)。默认值为_token$length- 生成的令牌的字符数。默认值为40个字符
此函数应在 html 中的 form 元素内部使用。这样将生成一个 type 为 hidden、name 为 _token、value 为 40 个字符的 input。使用方法如下:
<?php require __DIR__ . '/vendor/autoload.php'; ?> <form action="#" method="POST"> <?= csrf_field(); ?> </form>
生成的 input 在 html 中将如下所示:
<input type="hidden" name="_token" value="a60e5c1048225b366c4d48c0f87e07ad2cad3583">
csrf_token(int $length = 40) - 生成 CSRF 令牌值
$length- 生成的令牌的字符数。默认值为40个字符
此函数生成一个 40 个字符的令牌。如果只需要令牌值,则可以使用此函数。使用方法如下:
<?php require __DIR__ . '/vendor/autoload.php'; echo csrf_token();
生成的令牌将如下所示:
a60e5c1048225b366c4d48c0f87e07ad2cad3583
csrf_validate(array $request, string $name = '_token') - 验证 CSRF 令牌的有效性
$request- 用于验证令牌有效性的发送变量$name- 将生成的input的名称(即name)。默认值为_token
此函数用于验证 form 中发送的令牌是否有效。如果发送的令牌值正确,则返回 true,否则返回 false。此函数需要一个参数,可以是 $_GET、$_POST 或 $_REQUEST 中的一个。使用方法如下:
<?php require __DIR__ . '/vendor/autoload.php'; if (csrf_validate($_POST)) { // Token dəyəri düzgündür, heç bir xəta yoxdur } else { // Token dəyəri düzgün deyil, xəta baş verdi }
许可证
Laravel MSM 在 MIT 许可证 下发布
联系
Telegram: Orxan Şükürlü