From 00d106d1fac8bec9e900bb3a99e5b9da36e190f2 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Wed, 30 Sep 2026 09:48:53 +0200 Subject: [PATCH 1/2] [Sync-En] session: explicit root-level key restrictions for serialize handlers --- reference/session/book.xml | 48 +++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/reference/session/book.xml b/reference/session/book.xml index 5302f27546..70e34e14aa 100644 --- a/reference/session/book.xml +++ b/reference/session/book.xml @@ -1,7 +1,6 @@ - - + @@ -57,24 +56,45 @@ les variables de type resource ne peuvent être stockées dans une session. - - Les gestionnaires de sérialisation (php - et php_binary) héritent des limitations de - register_globals. Aussi, les index numériques ou les index - sous forme de chaînes de caractères contenant des caractères - spéciaux (| et !) ne - peuvent pas être utilisés. Le fait de les utiliser génèrera des - erreurs en fin de script. php_serialize - n'a pas ce genre de limitations. - + + Les gestionnaires de sérialisation php et + php_binary imposent des restrictions sur les clés + de premier niveau de $_SESSION. + Les clés imbriquées dans les tableaux ou les objets stockés en session + ne sont pas concernées par ces restrictions. + Les clés de premier niveau suivantes ne sont pas autorisées : + + + + + Les clés numériques (par exemple $_SESSION[0]). + Ces clés sont ignorées lors de l'écriture de la session, et un + avertissement est émis. + + + + + Les clés de type chaîne de caractères qui contiennent | + lorsque le gestionnaire de sérialisation php est + utilisé. L'utilisation d'une telle clé provoque un échec de l'écriture + de la session (et un avertissement à partir de PHP 8.5.0). + + + + + Le gestionnaire php_serialize n'a pas ces limitations, + et peut être utilisé lorsque des clés numériques ou des clés contenant + | doivent être stockées au premier niveau de + $_SESSION. + Il est à noter que lorsque l'on travaille avec les sessions, un enregistrement dans la session ne sera pas créé tant que la variable ne sera pas enregistrée en ajoutant une clé à la variable super-globale - $_SESSION. Cela n'est vrai que si l'on a débuté une - session en appelant la fonction session_start. + $_SESSION. Cela reste vrai, que la session ait été + démarrée ou non avec la fonction session_start. From 606c2fd7fa29672ff116f611a34e4603d4b57fa0 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Wed, 30 Sep 2026 10:01:24 +0200 Subject: [PATCH 2/2] [Sync-En] session: drop the SVN revision marker --- reference/session/book.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/reference/session/book.xml b/reference/session/book.xml index 70e34e14aa..69c215c8d1 100644 --- a/reference/session/book.xml +++ b/reference/session/book.xml @@ -1,5 +1,4 @@ -