session_regenerate_id
(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
session_regenerate_id — Генерує та оновлює ідентифікатор поточної сесії
Опис
session_regenerate_id(bool $delete_old_session = false): bool
session_regenerate_id() замінює ідентифікатор поточної сесії знову згенерованим, при цьому зберігає інформацію про поточну сесію.
При ввімкненій опції session.use_trans_sid, висновок має здійснюватися після виклику session_regenerate_id(). В іншому випадку використовуватиметься старий ідентифікатор сесії.
Увага
Поточна реалізація session_regenerate_id() погано працює з мережами з нестабільним з'єднанням, такими як мобільні та WiFi-мережі. Таким чином, є можливість втратити сесію через виклик session_regenerate_id()
Ви не повинні знищувати дані старої сесії негайно, а використовувати тимчасові мітки видалення і контролювати доступ до старої сесії. В іншому випадку конкуруючий доступ до сторінки може призвести до неузгодженого стану, втрати сесії або стану гонки на стороні клієнта (браузера), що, у свою чергу, призведе до створення безлічі ідентифікаторів сесії без необхідності. Негайне видалення сесії також унеможливлює виявлення та запобігання атакам при перехопленні сесії.
Список параметрів
delete_old_session
Визначає, чи видаляти старий пов'язаний файл із сесією чи ні. Не слід видаляти стару сесію, якщо потрібно уникати стану гонки через видалення або виявляти/уникати атак під час перехоплення сесії.
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
Приклади
Приклад #1 Приклад використання session_regenerate_id()****
Loading...
Поточний модуль сесії не працює добре з мережами з нестабільним з'єднанням. Ви повинні керувати ідентифікатором сесії, щоб уникнути втрати сесії в результаті виклику session_regenerate_id()
Приклад #2 Как избежать потери сессии при использованииsession_regenerate_id()****
Loading...
Дивіться також
- session_id() - Отримує та/або встановлює ідентифікатор поточної сесії
- session_create_id() - створює новий ідентифікатор сесії
- session_start() - Стартує нову сесію, або відновлює існуючу
- session_destroy() - Знищує всі дані сесії
- session_reset() - реініціалізує сесію оригінальними значеннями
- session_name() - Отримати чи встановити ім'я поточної сесії