igbinary_unserializeСоздаёт значение PHP из сохранённого представления функцией igbinary_serialize
&reftitle.description;
mixedigbinary_unserializestringstr
Функция igbinary_unserialize берёт одну сериализованную переменную из
функции igbinary_serialize и преобразовывет её обратно в значение PHP.
Ненадёжные пользовательские входные данные не должны передаваться в igbinary_unserialize.
Десериализация может привести к загрузке и выполнению кода из-за создания экземпляра объекта и автозагрузки, тогда злоумышленник может этим воспользоваться.
Вместо этого следует использовать безопасный стандартный формат обмена данными, такой как JSON (с помощью функций
json_decode и json_encode),
если сериализованные данные необходимо передать клиенту.
Если есть необходимость десериализовать сохранённые извне сериализованные данные,
для проверки данных можно использовать функцию hash_hmac.
Важно убедиться, что данные никто не подделал.
Формат сериализации igbinary не позволяет различать разные ссылочные группы для одного и того же значения.
Все ссылки PHP на заданное значение при десериализации обрабатываются как часть одной и той же группы ссылок,
даже если при сериализации они были частями разных групп ссылок.
&reftitle.parameters;
str
Сериализованная функцией igbinary_serialize строка.
Если десериализуемое значение является объектом (&object;), после успешного восстановления
объекта, igbinary автоматически попытается вызвать метод __unserialize() или
__wakeup() (если таковой существует).
unserialize_callback_func directive
Можно установить callback-функцию, которая будет вызываться,
если во время десериализации должен быть создан экземпляр неопределённого класса
(чтобы предотвратить получение неполного объекта (object) __PHP_Incomplete_Class).
Для определения unserialize_callback_func могут использоваться
файлы &php.ini;, ini_set или &htaccess;.
Каждый раз, когда необходимо создать экземпляр неопределённого класса, callback-функция будет вызываться.
Чтобы отключить эту функцию, параметр следует очистить.
&reftitle.returnvalues;
Возвращает преобразованное значение, которое может быть bool,
int, float, string,
array, object или null.
Если переданная строка не может быть десериализована, возвращается &false; и выдаётся
ошибка уровня E_NOTICE или E_WARNING.
&reftitle.errors;
Объекты могут выбрасывать исключение Throwable в своих обработчиках десериализации.
&reftitle.notes;
&null; или &false; возвращается как в случае возникновения ошибки, так и при десериализации
сериализованного значения &null; или &false;.
Этот особый случай можно определить, сравнивstr с
igbinary_serialize(null) или igbinary_serialize(false)
или обработав выданную ошибку уровня E_NOTICE.
&reftitle.seealso;
unserializejson_encodejson_decodehash_hmacigbinary_serializeАвтоматическая загрузка классовunserialize_callback_func__wakeup()__serialize()__unserialize()