/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Serialize/Serializer/Serialize.php
49 строк
1 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2016 Adobe * All Rights Reserved. */ namespace Magento\Framework\Serialize\Serializer; use Magento\Framework\Serialize\SerializerInterface; /** * Less secure than Json implementation, but gives higher performance on big arrays. Does not unserialize objects. * Using this implementation is discouraged as it may lead to security vulnerabilities */ class Serialize implements SerializerInterface { /** * @inheritDoc */ public function serialize($data) { if (is_resource($data)) { throw new \InvalidArgumentException('Unable to serialize value.'); } // We have to use serialize // phpcs:ignore Magento2.Security.InsecureFunction return serialize($data); } /** * @inheritDoc */ public function unserialize($string) { if (false === $string || null === $string || '' === $string) { throw new \InvalidArgumentException('Unable to unserialize value.'); } set_error_handler( function () { restore_error_handler(); throw new \InvalidArgumentException('Unable to unserialize value, string is corrupted.'); } ); // We have to use unserialize here // phpcs:ignore Magento2.Security.InsecureFunction $result = unserialize($string, ['allowed_classes' => false]); restore_error_handler(); return $result; } }