DÉCLARATION DE VARIABLE DYNAMIQUEMENT (REGISTER_GLOBAL)

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 29 janv. 2004 à 01:47
cs_parweb Messages postés 14 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 19 janvier 2009 - 9 juin 2006 à 23:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19836-declaration-de-variable-dynamiquement-register-global

cs_parweb Messages postés 14 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 19 janvier 2009
9 juin 2006 à 23:28
sinon ya une function nikel pour faire sa c le extract

extract($_POST);
un truc comme ca je crois
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 janv. 2004 à 13:11
au moins n'importe qui ne peut pas créer ses variables :-)
dis rejnev, c t pas agressif comme message, du tt du tt ;-)
rejnev Messages postés 15 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 16 février 2004
29 janv. 2004 à 11:12
allez pour vous faire plaisir on peut le modifier pour le rendre un peut plus sécurisé :

$var_post = array("var1","var2","var3","var4");

// pour le post
foreach($_POST as $key => $val)
if ( in_array($key, $var_post))
${$key} = $val;

$var_get = array("var1","var2","var3","var4");
// pour le get
foreach($_GET as $key => $val)
if ( in_array($key, $var_get))
${$key} = $val;
rejnev Messages postés 15 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 16 février 2004
29 janv. 2004 à 08:46
ouh ouh doucement les gars!!!
moi je cherché à déclarer des variables dynamiquement, apres l'avoir trouver dans la docs. J'ai fait l'analogie avec le problème que j'ai rencontré lorsque j'ai commencé à programmé.
Je suis tout a fait d'accord que c'est une faille de sécurité énorme, j'y avait déja réfléchi et j'aurai du l'écrire en majuscule dans la description de cette source. De plus si tu regarde bien cette source n'est pas dans la rubrique sécurité mias plutot astuce !! ça m'a déja servit pour faire un petit site a la con, alors pourquoi pas quelqu'un d'autre, et puis ca fait un exemple concret pour la déclaration de variable dynamiquement!!!

@+
cs_gege217 Messages postés 40 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 13 août 2008
29 janv. 2004 à 08:32
T'as aussi une fonction prévue spécialement pour ca !

import_request_variables();

plus d'infos sur => http://fr3.php.net/import_request_variables

Des fois ca sert de regarder la doc...

.oOMimiLOo.
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
29 janv. 2004 à 07:20
tu recrées la faille bouchée par le register_global a off...
tu pourrais modifier ton code pour afficher les $_POST et les $_GET a mettre !!
donc dans un form, tu mets l'adresse d'une page rg.php (registerglobal) et alors de la, tu affiches les champs $_POST, $_GET
donc ca fera :

$nick = $_POST['nick'];
$email = $_POST['email'];
...
tu copies alors dans ta page php et tu dois pas tout faire a la main !!
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 janv. 2004 à 01:47
register_global=on c'est dire au monde entier que tu t'en fiches de te faire hacker, et que d'ailleurs tu trouves l'idée assez amusante pr ne pas t'en préoccuper :-)

franchement, imaginez un truc comme ça:

if($motdepasse $users['utilisateur']) $ok true;

if($ok)
{
//afficher des données importantes, privées
}


si regiter globals est on, appeler la page en ajouter /?ok=true à l'adresse permet de passer à travers le teste de mot de passe, d'un coup. c'est pas uen bonne idée