[Sécurité] php5 versus php4 (session_start(), register_globals)
Bonjour,
Vous avez eu connaissance de mon pb : ERROR FATAL sur appel de la fonction session_start().
Sur mon site : http://linteaux-de-france.com, mon hébergeur a souhaité que j'enlève le php.ini de ma config car j'y avais mis register_globals à ON (par défaut dans php4) alors que php5 y met par défaut OFF. Il paraît que c'est une mesure de sécurité.
Si je fais cette manip, comme vous pourrez le constater, il n'y a plus la FATAL ERROR mais les paramètres ne passent plus
1.** il faut la ligne suivante : $username=$HTTP_POST_VARS["username"];
pour récupérer les variables d'un formulaire
2.** display_book_details($l_ville,$l_ordre,$l_village,$l_texte,$l_image, $l_cartouche,$i_texte, $lib_ville);
ne renvoie rien dans la fonction.
3.** $url = "show_book.php?vraicle=".$totenreg;
ne renvoie rien non plus dans le script show_book.php
Connaissez vous la façon de procéder pour que les cas 2 et 3 fonctionnent tout en ayant register_globals à OFF?
SANS DOUTE definir mes variables différemment, à quels endroits, avec des portées différentes.
Merci. Merci. Mon hébergeur cherche une solution, mais je semble plus impatient que lui.
M.M.M.
la solution semble effectivement là ... .
Merci ... il suffisait de le dire !!!!
En effet, dans le script appelé il "suffit" d'aller prendre la variable vraicle dans l'élément-indice du même nom de $_GET[] dans le script xxxx.php
// 3.** $url = "xxxx.php?vraicle=".$totenreg;
// tout appel de cette forme, avec ?variable, ne renvoie rien au script xxxx.php
// Ah bon ? quand tu fais un lien avec une telle url, tu obtiens un tableau $_GET vide à l'arrivée ?
Quant au point 2.** de mon questionnement, dans mon cas il s'en déduit car rien n'était transmis à la fonction.
Il ne me reste :
a) qu'à trouver tous les scripts appelés de cette façon dans mon application pour y effectuer la modif.
b) qu'à espérer que ces modifs ne perturberont pas mon application en local, application qui, elle, est en php4.
Merci à TOUS et en particulier à mon interlocuteur.
M.M.M.