Клас SessionHandlerInterface

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Вступ

SessionHandlerInterface - це інтерфейс, який визначає мінімальний прототип для створення користувальницького оброблювача сесії. Для надання користувальницького оброблювача сесії функції session_set_save_handler(), Використовуючи її ООП реалізацію, клас повинен реалізовувати цей інтерфейс.

Зауважте, що callback-методи цього класу створені для внутрішніх викликів PHP і не призначені для викликів з вашого коду.

Огляд інтерфейсів


    
     interface SessionHandlerInterface {

    /* Методы */
    
   public close(): bool
public destroy(string $id): bool
public gc(int $max_lifetime): int|false
public open(string $path, string $name): bool
public read(string $id): string|false
public write(string $id, string $data): bool

   }

Приклад #1 Приклад використання SessionHandlerInterface****

Наступний приклад реалізує файлову сесію так само, як це реалізовано у внутрішньому обробнику сесії PHP. Цей приклад може бути легко розширений для забезпечення зберігання сесій в базі даних.

Зверніть увагу, що ми використовуємо об'єктно-орієнтовані прототипи з функцією session_set_save_handler() та реєструємо функцію завершення (shutdown) використовуючи один із параметрів цієї функції. Ця дія рекомендується проводити в більшості випадків, коли об'єкти реєструються як обробники сесії.

Застереження

Для стислості в цьому прикладі не додано перевірку вхідних даних. Зверніть увагу, що параметр $id надається користувачем і обов'язково повинен перевірятися для виключення можливих атак, які використовують, наприклад, проблеми обходу шляху . Так що в жодному разі не використовуйте цей код у промисловій експлуатації, не додавши відповідних перевірок.

Loading...

Зміст