DÉCLARATION DE VARIABLE DYNAMIQUEMENT (REGISTER_GLOBAL)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008
-
29 janv. 2004 à 01:47
cs_parweb
Messages postés14Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention19 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.
cs_parweb
Messages postés14Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention19 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és15Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention16 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és15Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention16 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és40Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention13 août 2008 29 janv. 2004 à 08:32
T'as aussi une fonction prévue spécialement pour ca !
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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
9 juin 2006 à 23:28
extract($_POST);
un truc comme ca je crois
29 janv. 2004 à 13:11
dis rejnev, c t pas agressif comme message, du tt du tt ;-)
29 janv. 2004 à 11:12
$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;
29 janv. 2004 à 08:46
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!!!
@+
29 janv. 2004 à 08:32
import_request_variables();
plus d'infos sur => http://fr3.php.net/import_request_variables
Des fois ca sert de regarder la doc...
.oOMimiLOo.
29 janv. 2004 à 07:20
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 !!
29 janv. 2004 à 01:47
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