Code Comments
Programming Forum and web based access to our favorite programming groups.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.
Post Follow-up to this messagesylvie 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
Post Follow-up to this message"Janwillem Borleffs" <jw@jwscripts.com> a écrit dans le message de news: 428f963e$0$45858$dbd4b001@news.euronet.nl... > 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. > 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 ?
Post Follow-up to this message> 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
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.