Метод token
Метод token класса Session применяется для получения CSRF-токена, который хранится в сессии пользователя. Этот токен необходим для защиты форм от межсайтовых подделок запросов (CSRF). Метод не принимает параметров и возвращает строку с токеном.
Синтаксис
<?php
session()->token();
?>
Пример
Давайте получим CSRF-токен из сессии в контроллере:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TokenController extends Controller
{
public function show()
{
$token = session()->token();
echo $token;
}
}
?>
Результат выполнения кода:
"2tJ8jLk9wP1mNx4QrS6vUzYb7"
Пример
Давайте проверим, существует ли токен в сессии, и выведем его значение:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TokenController extends Controller
{
public function check()
{
if (session()->has('_token')) {
$token = session()->token();
echo $token;
} else {
echo "Token not found";
}
}
}
?>
Результат выполнения кода:
"2tJ8jLk9wP1mNx4QrS6vUzYb7"
Пример
Давайте используем метод token для генерации скрытого поля в HTML-форме:
<form method="POST" action="/submit">
@csrf
<input type="hidden" name="_token" value="{{ session()->token() }}">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>
Результат выполнения кода:
<form method="POST" action="/submit">
<input type="hidden" name="_token" value="2tJ8jLk9wP1mNx4QrS6vUzYb7">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>
Смотрите также
-
метод
get,
который получает значение из сессии -
метод
put,
который сохраняет значение в сессию -
метод
has,
который проверяет наличие ключа в сессии -
метод
regenerateToken,
который генерирует новый CSRF-токен