Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2006, 11h08   #1
Membre actif
 
Homme marcel marie monnier
retraité, ex chef de projets en informatique
Inscription : juillet 2005
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme marcel marie monnier
Localisation : France

Informations professionnelles :
Activité : retraité, ex chef de projets en informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2005
Messages : 383
Points : 158
Points : 158
Par défaut [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.
marcel marie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 11h16   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Bonjour

Tu auras beaucoup d'informations ici sur la nouvelle config de PHP : http://fr.php.net/manual/fr/reserved.variables.php

En gros, il faut utiliser $_POST et $_GET au lieu de $HTTP_POST_VARS et $HTTP_GET_VARS. Pour ton second point on ne connait pas ta fonction donc on ne peut pas t'aider.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 11h28   #3
Membre actif
 
Homme marcel marie monnier
retraité, ex chef de projets en informatique
Inscription : juillet 2005
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme marcel marie monnier
Localisation : France

Informations professionnelles :
Activité : retraité, ex chef de projets en informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2005
Messages : 383
Points : 158
Points : 158
Par défaut précision

MERCI

Il ne s'agit pas d'un cas particulier.

2.**Tout appel à une fonction personnelle échoue car les paramètres ne lui sont pas transmis.
ex donc :
display_book_details($l_ville,$l_ordre,$l_village,$l_texte,$l_image, $l_cartouche,$i_texte, $lib_ville);


3.** $url = "xxxx.php?vraicle=".$totenreg;
tout appel de cette forme, avec ?variable, ne renvoie rien au script xxxx.php

Tout allait très bien depuis trois ans avec php4.
Ce qui est rageant !!!
marcel marie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 11h34   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par marcel marie
Il ne s'agit pas d'un cas particulier.

2.**Tout appel à une fonction personnelle échoue car les paramètres ne lui sont pas transmis.
ex donc :
display_book_details($l_ville,$l_ordre,$l_village,$l_texte,$l_image, $l_cartouche,$i_texte, $lib_ville);
Alors il faut s'inquiéter de comment les informations arrivent dans les variables $l_ville, $l_ordre, etc.


Citation:
Envoyé par marcel marie
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 ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 17h44   #5
Membre actif
 
Homme marcel marie monnier
retraité, ex chef de projets en informatique
Inscription : juillet 2005
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme marcel marie monnier
Localisation : France

Informations professionnelles :
Activité : retraité, ex chef de projets en informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2005
Messages : 383
Points : 158
Points : 158
Par défaut 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.
marcel marie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 18h02   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par marcel marie
Merci ... il suffisait de le dire !!!!
Tout était dans le lien donné dans mon premier message...

Bonne continuation !

N'oublie pas de cliquer sur le bouton "résolu" en bas de page.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h22.


 
 
 
 
Partenaires

Hébergement Web