[spip-dev] Re: 1.8b2 et 1.7.2: différence de fonctionnement du squelette?

----Message d'origine----

Date: Mon, 20 Dec 2004 22:52:20 +0100
De: Fil <fil@rezo.net>
A: Nicolas Krebs <nicolas1.krebs2@netcourrier.com>
Copie à: spip-dev@rezo.net
Sujet: Re: [spip-dev] 1.8b2 et 1

>De toutes façons _REQUEST prend en compte le cookie, ce dont nous ne voulons
>pas.

Pourquoi ne pas utiliser $_REQUEST ?

Relis la phrase ci-dessus s'il te plait !

Quel est le problème ?

On ne veut pas du cookie ! Si je vais sur ta page article.php3?id_article=2
et que je me suis installé un cookie id_article=3, qu'est-ce que SPIP va
mettre en cache ? L'article 3 !

( PHP: Predefined Variables - Manual )
Et alors ?
Si un hurluberlu envoi une requête http à un serveur http + php + SPIP
demandant
article.php3?id_article=1 en get,
article.php3?id_article=2 en post,
article.php3?id_article=3 en cookie,
et que le serveur (ne) lui renvoi (que) un seul de ces documents
(en fonction de
http://www.php.net/manual/fr/ini.sect.data-handling.php#ini.variables-order ), on ne peut pas en blamer SPIP.

Si le problème est que une partie du logiciel SPIP va croire que article.php3?id_article=2
est demandé alors que une autre croit que c'est article.php3?id_article=3
(par exemple en calculant id_article=2 et en le mettant en cache
sous le nom de id_article=3),
il suffit de généraliser l'usage de $_REQUEST dans le code
(ou plutôt de mettre $_REQUEST aux bons endroits du code de SPIP).
Mais cela interdit demettre $_REQUEST tant qu'il y a ce fonctionnement
de SPIP bien sûr.

Un autre exemple : requête http avec
article.php3 en get, rien en post et id_article=2 en cookie.
Si le cookie n'est pas pris en compte, SPIP ne traitera que
article.php3 comme demande.

Un autre exemple : requête http avec
article.php3 en get, rien en post et id_article=2 en cookie.
Si le cookie n'est pas pris en compte, SPIP ne traitera que
article.php3 comme demande.

Tu oublies que SPIP met les choses en cache en fonction de l'URL. Et comme
on ne met pas en cache les requetes en POST, il n'y a pas de risque de ce
côté-là. Par contre avec les cookies le risque existe.

-- Fil