Koozali.org: home of the SME Server

Sessions PHP et certification XHTML 1.1

batosai

Sessions PHP et certification XHTML 1.1
« on: August 25, 2005, 11:12:53 PM »
Bonjour à tous,

Derrière ce titre un peu obscur se cache un problème ayant vraiment rapport avec SME. Lisez plus avant pour vous en convaincre :

L'un de mes sites (hébergés sur un SME 6.0.1 avec script smeplus.sh) contient un formulaire tout simple :
<form action="login.php" method="post">
<fieldset>
<legend>Identifiez-vous</legend>
<input type="text" size="10" name="name" value="" /><br />
<input type="password" size="10" name="pass" value="" /><br />
<input type="submit" value="Login" />
</fieldset>
</form>

Jusqu'ici, tout va bien. Le problème est que lorsque le client refuse les cookies (ce qui est le cas du validateur du W3C), PHP modifie le script pour ajouter :
<input type="hidden" name="PHPSESSID" value="251705bd0f394b817bdcf2f01ac7f301" />
Juste derrière la balise FORM, ce qui est, par définition, invalide en XHTML.

J'ai essayé de contourner le problème en modifiant /etc/php.ini (par les template-custom) pour ajouter la directive : "session.use_only_cookies = 1" (qui devrait être acceptée par PHP 4.3), mais la ligne fautive demeure...

Quelqu'un est-il déja parvenu à résoudre ce problème ?

batosai

Sessions PHP et certification XHTML 1.1
« Reply #1 on: August 26, 2005, 11:22:39 AM »
J'ai trouvé un moyen de contourner le problème : j'ai mis la directive "session.use_trans_sid" à zéro également et la ligne disgracieuse a disparu. Il semblerait que le problème ne vienne pas d'SME mais de PHP. Encore que le fait d'avoir le fichier de configuration de PHP 4.1 alors que c'est la version 4.3 qui est installée ne m'ait pas aidé à trouver la bonne directive ;-)

Maintenant, je vais devoir modifier en profondeur le site car je dois repasser à la main les identifiants de session pour chacun des liens :-( Si j'étais un gourou, je compilerai bien un PHP modifié pour SME mais je crois que cela me prendrait plus longtemps que de modifier mon site...

chaissac

Sessions PHP et certification XHTML 1.1
« Reply #2 on: September 05, 2005, 11:57:21 AM »
Tu peux aussi modifier ces valeurs là (données ici en syntaxe .htaccess pour plus de simplicité) :

php_value arg_separator.output &amp;
php_value url_rewriter.tags "a=href,area=href,frame=src,fieldset=."