/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/session/tests/003.phpt
49 строк
877 B
Máté Kocsis
Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354)
30 авг 2022, 14:46
Не верифицирован
30 авг 2022, 14:46
adb45a6
Код
Авторство
О чём код?
--TEST-- session object deserialization --EXTENSIONS-- session --SKIPIF-- <?php include('skipif.inc'); ?> --INI-- session.use_cookies=0 session.use_strict_mode=0 session.cache_limiter= session.serialize_handler=php session.save_handler=files --FILE-- <?php error_reporting(E_ALL); class foo { public $bar = "ok"; public $yes; function method() { $this->yes++; } } session_id("test003"); session_start(); session_decode('baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}'); $_SESSION["baz"]->method(); $_SESSION["arr"][3]->method(); var_dump($_SESSION["baz"]); var_dump($_SESSION["arr"]); session_destroy(); ?> --EXPECT-- object(foo)#1 (2) { ["bar"]=> string(2) "ok" ["yes"]=> int(2) } array(1) { [3]=> object(foo)#2 (2) { ["bar"]=> string(2) "ok" ["yes"]=> int(2) } }