РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
539 of 1392 menu

Метод regenerateToken

Метод regenerateToken класса Session применяется для генерации нового CSRF-токена в текущей сессии. Он автоматически обновляет значение токена, хранящееся в сессии, и возвращает сгенерированную строку. Метод полезен при входе, выходе пользователя или в других сценариях, где требуется сбросить токен безопасности.

Синтаксис

<?php $token = session()->regenerateToken(); ?>

Пример

Давайте обновим CSRF-токен в текущей сессии и выведем новое значение:

<?php $oldToken = session()->token(); $newToken = session()->regenerateToken(); echo "Old token: " . $oldToken . "\n"; echo "New token: " . $newToken; ?>

Результат выполнения кода:

"Old token: jUdU3qL... (some string)" "New token: sMzE0nP... (some string)"

Пример

Рассмотрим использование метода при выходе пользователя из системы в контроллере:

<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class LogoutController extends Controller { public function __invoke(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } } ?>

Пример

Использование метода в Blade-шаблоне для получения нового токена и передачи его в форму:

<form method="POST" action="/update-profile"> @csrf <input type="hidden" name="token" value="{{ session()->regenerateToken() }}"> <button type="submit">Update profile</button> </form>

Смотрите также

  • метод token,
    который возвращает текущий CSRF-токен
  • метод regenerate,
    который обновляет ID сессии
  • метод invalidate,
    который очищает все данные сессии
  • метод flash,
    который сохраняет данные в сессии на один запрос
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить