igbinary_unserialize
(PECL igbinary >= 1.1.1)
igbinary_unserialize —
Создаёт значение PHP из сохранённого функцией igbinary_serialize() представления
Описание
Функция igbinary_unserialize() берёт одну сериализованную переменную
из функции igbinary_serialize() и преобразовывает её обратно в PHP-значение.
Внимание
Нельзя передавать в функцию igbinary_unserialize() ненадёжные пользовательские входные данные.
При десериализации инстанцируются объекты и автоматически загружаются классы, что ведёт к риску загрузки и выполнения кода,
чем пользуются злоумышленники. Вместо этого пользуются безопасным стандартным форматом обмена данными
наподобие JSON, который обрабатывают функциями json_decode() и json_encode(),
если сериализованные данные требуется передать клиенту.
Сериализованные данные внешнего хранилища проверяют функцией hash_hmac(),
если требуется десериализовать такие данные.
Важно убедиться, что никто не подделал данные.
Внимание
Формат сериализации модуля igbinary не различает разные ссылочные группы для одного и того же значения.
Каждая PHP-ссылка на заданное значение при десериализации обрабатывается как часть одной и той же группы ссылок,
даже если при сериализации ссылка была частью разных групп ссылок.
Ошибки
Иногда в своих обработчиках десериализации объекты выбрасывают исключение Throwable.
Примечания
Внимание
Значение null или false возвращается как при ошибке, так и при десериализации
сериализованного значения null или false.
Этот особый случай можно определить, сравнивstr с
igbinary_serialize(null) или igbinary_serialize(false)
или обработав выданную ошибку уровня E_NOTICE.