session_regenerate_id
Выдаёт сессии новый идентификатор, сохраняя данные.
Синтаксис
session_regenerate_id(bool $delete_old_session = false): boolПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $delete_old_session | bool | Необязательный. Удалить старый файл сессии. |
Возвращаемое значение
bool`true` при успехе.
Примеры
После успешного входа:
<?php
session_start();
// the password has been verified
session_regenerate_id(true);
$_SESSION['user_id'] = 42;Примечания
Смена идентификатора при входе защищает от атаки, когда злоумышленник заранее подсовывает жертве известный ему идентификатор сессии.
См. также
- session_start — Запускает сессию или продолжает существующую.
- session_destroy — Удаляет данные сессии на сервере.
- password_verify — Проверяет, соответствует ли пароль хешу.
Вопросы и ответы по теме
В учебнике
- Регистрация и вход — Как сделать регистрацию и вход на PHP — таблица пользователей, хеширование пароля, проверка при входе, сессия, закрытые страницы и выход.