compenser le global_register=on

This is a discussion on compenser le global_register=on within the alt.comp.lang.php forums, part of the PHP Programming Forums category; Bonjour. Comme il est impossible sur ovh d'avoir son site php4 en register_global=off je me posais une question. ...


Go Back   Usenet Forums > PHP Programming Forums > alt.comp.lang.php

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 05-19-2005
sylvie
 
Posts: n/a
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.


Reply With Quote
  #2 (permalink)  
Old 05-21-2005
Janwillem Borleffs
 
Posts: n/a
Default Re: compenser le global_register=on

sylvie wrote:
> 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 ?
>


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



Reply With Quote
  #3 (permalink)  
Old 06-02-2005
sylvie
 
Posts: n/a
Default Re: compenser le global_register=on


"Janwillem Borleffs" <jw@jwscripts.com> a écrit dans le message de news:
428f963e$0$45858$dbd4b001@news.euronet.nl...
> sylvie wrote:
>> 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 ?
>>

>
> 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.
>


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 ?


Reply With Quote
  #4 (permalink)  
Old 07-01-2005
Daedalus.OS
 
Posts: n/a
Default Re: compenser le global_register=on

> 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 ?
>


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



Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 12:01 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0