Help - Search - Member List - Calendar
Full Version: compenser le global_register=on
WorkTheWeb Forums > Webmaster Resources > PHP Help
Support our Sponsors!
sylvie
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.

Janwillem Borleffs
sylvie wrote:
QUOTE
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

sylvie
"Janwillem Borleffs" <[Email Removed]> a crit dans le message de news:
428f963e$0$45858$[Email Removed]...
QUOTE
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 rponse.

j'utilise les vriables superglobals prdfinies.

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 entre en la mettant dans l'url ?

Daedalus.OS
QUOTE
merci de la rponse.

j'utilise les vriables superglobals prdfinies.

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 entre 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 passes 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 crer des problmes.
Par contre comme il est peut probable que tu utilise le tableau $_POST avec
un cl qui ne devrait pas exister, mme si cette cl existe a ne causera
pas de problme ( moins que tu les initialise l'aveugle ex:
extract($_POST) qui par dfaut crera une srie de variables comme
register_globals et crasera toute variable existante avec le mme 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 donnes inconnues, comme les donnes
utilisateurs ($_GET, etc). Si vous le faites, par exemple, pour rendre
compatible un vieux code avec register_globals Off de faon temporaire,
assurez-vous d'utiliser l'une des constantes extract_type qui n'crasent pas
les valeurs, comme EXTR_SKIP..."

Dae


PHP Help | Linux Help | Web Hosting | Reseller Hosting | SSL Hosting
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2006 Invision Power Services, Inc.