Professional Web Applications Themes

compenser le global_register=on - PHP Development

Bonjour. Comme il est impossible sur ovh d'avoir son site php4 en register_global=off je me posais une question. Que pensez vous, au debut de chaque script de recuperer ttes les variables avec get_defined_vars et de faire un unset sur ttes les variables ? Si c possible, comment je pourrais coder ca ? Merci....

  1. #1

    Default compenser le global_register=on

    Bonjour.

    Comme il est impossible sur ovh d'avoir son site php4 en register_global=off
    je me posais une question.

    Que pensez vous, au debut de chaque script de recuperer ttes les variables
    avec get_defined_vars et de faire un unset sur ttes les variables ?

    Si c possible, comment je pourrais coder ca ?

    Merci.


    sylvie Guest

  2. #2

    Default Re: compenser le global_register=on

    sylvie wrote: 

    If you cannot disable the register_globals directive and want to be sure
    that you are referencing the correct variables, just use the predefined
    superglobals or their equivalents when using PHP v < 4.1;

    See http://www.php.net/language.variables.predefined for more info.


    JW



    Janwillem Guest

  3. #3

    Default Re: compenser le global_register=on


    "Janwillem Borleffs" <com> a écrit dans le message de news:
    428f963e$0$45858$euronet.nl... 
    >
    > If you cannot disable the register_globals directive and want to be sure
    > that you are referencing the correct variables, just use the predefined
    > superglobals or their equivalents when using PHP v < 4.1;
    >
    > See http://www.php.net/language.variables.predefined for more info.
    >[/ref]

    merci de la réponse.

    j'utilise les vriables superglobals prédéfinies.

    Mais si j'utilise $_POST['toto'] pour toto

    Qu'est ce qui empeche l'utilisateur de changer une toute autre variable que
    je n'attend pas en entrée en la mettant dans l'url ?


    sylvie Guest

  4. #4

    Default Re: compenser le global_register=on

    > merci de la réponse. 

    Dans ce cas il est fort probable que ton script ne l'utilisera jamais. Avec
    register_globals les variables sont passées directement genre $toto, donc si
    une personne passe une variable qui est utilisé dans ton script mais qui ne
    devait pas être fournit par l'utilisateur ... ça peut créer des problèmes.
    Par contre comme il est peut probable que tu utilise le tableau $_POST avec
    un clé qui ne devrait pas exister, même si cette clé existe ça ne causera
    pas de problème (à moins que tu les initialise à l'aveugle ex:
    extract($_POST) qui par défaut créera une série de variables comme
    register_globals et écrasera toute variable existante avec le même nom) Il
    est possible de faire en sorte que la commande extract() n'écrase pas les
    variables existante: extract($_POST, EXTR_SKIP)

    http://ca.php.net/manual/fr/function.extract.php

    Tiré du manuel:
    "N'utilisez pas extract() sur des données inconnues, comme les données
    utilisateurs ($_GET, etc). Si vous le faites, par exemple, pour rendre
    compatible un vieux code avec register_globals à Off de façon temporaire,
    assurez-vous d'utiliser l'une des constantes extract_type qui n'écrasent pas
    les valeurs, comme EXTR_SKIP..."

    Dae



    Daedalus.OS Guest

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139