IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] php5 versus php4 (session_start(), register_globals)


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Points : 249
    Points
    249
    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.

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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.

  3. #3
    Membre actif
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Points : 249
    Points
    249
    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 !!!

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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 ?

  5. #5
    Membre actif
    Homme Profil pro
    retraité, ex chef de projets en informatique
    Inscrit en
    Juillet 2005
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 602
    Points : 249
    Points
    249
    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.

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cohabitation php5 et php4.4.3
    Par lun4t1k dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2007, 11h30
  2. Réponses: 3
    Dernier message: 04/08/2006, 15h05
  3. php5 et php4 sans CGI
    Par jeff_! dans le forum Apache
    Réponses: 4
    Dernier message: 14/03/2006, 09h51
  4. COMPARAISON PHP5 ET PHP4
    Par bassem82 dans le forum Langage
    Réponses: 5
    Dernier message: 14/09/2005, 01h01
  5. mySQL4.1 - PHP5 - conversion PHP4
    Par messier79 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/10/2004, 23h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo