IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modifier le contenu de $_POST avant un import_request_variables


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 27
    Points
    27
    Par défaut Modifier le contenu de $_POST avant un import_request_variables
    Bonjour,

    J'essaye depuis quelques jours d'obtenir un mécanisme de sécurisation des données renvoyer par formulaire. Je ne sais pas si ce que j'ai fait est possible ou non. Je souhaite modifier le contenu de $_POST ou de $_GET en début de script
    Déjà est que c'est possible de modifier ces superglobales ? Aprés plusieurs recherche je n'ai pas trouvé de réponses à cette question.

    J'ai essayé deux méthodes :

    la première par une fonction que j'ai essayé avec ou sans return la modification se fait bien à l'intérieur de la fonction mais au retour les antislashs ont disparus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function SecurePostData(){
    /* fonction qui vérifié si la directive get_magic_quotes_gpc() est activé ou non et sécurise les données si nécessaire à utiliser avant un import_request_variables("P","r_");*/
    	if(!get_magic_quotes_gpc()){
    		foreach($_POST as $key => $value){
    			$_POST[$key]= addslashes($value);
    			echo $_POST[$key]."<br/>";
    		}
    	}
    	return($_POST);
    }
    Pensant que ça ne fonctionnait pas j'ai essayé directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(!get_magic_quotes_gpc()){
    	foreach($_POST as $key => $value){
    		//echo "$value";
    		 $_POST[$key]= addslashes($value);
    		 echo "$_POST[$key]<br/>";
    	}
    }
    même résultat aprés le import_request_variables les anti-slashs ont disparus. est-ce que ça viendrait de cette fonction ? Mes derniers tests semblent le montrer en tout cas.

    Quelqu'un aurait-il une idée pour m'aiguiller ou confirmer le fait que import_request_variables supprime les antislashs?

    Jorael.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Oui, c'est bien la fonction import_request_variables qui est en cause.

    Voila une solution alternative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    /* Je ne touche pas à cette partie */
    if(!get_magic_quotes_gpc()){
    	foreach($_POST as $key => $value){
    		//echo "$value";
    		 $_POST[$key]= addslashes($value);
    		 echo "$_POST[$key]<br/>";
    	}
    }
     
    /*
    Je remplace la fonction import_request_variables par une qui fait le même boulot mais qui ne présente pas l'inconvénient de ce léger bug.
    */
    $prefix = "r_";
    foreach($_POST as $key => $value){
    		 ${"$prefix$key"} = $_POST[$key];
    }
    ?>
    ==========================DEBUT EDIT==========================

    Comme on dit, la nuit porte conseil !!!

    C'est tranquillement installé dans mon lit que j'ai réfléchi à ton problème ptdr !!!!

    Pourquoi ne pas doubler le addslashes sinon ???

    Ca fonctionne très bien aussi !!!
    ==========================FIN EDIT==========================

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 27
    Points
    27
    Par défaut
    Merci pour la solution, c'est vrai que je n'y ai pas pensé non plus.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Mais derien

    pense à mettre résolu dans ton titre !!!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 27
    Points
    27
    Par défaut
    la bonne blague c'est que la solution de doubler le addslash ne fonctionne pas !

    Enfin tant pis je ne vais plus utiliser import_request_variable !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2013, 09h43
  2. Modifier le contenu d'un DBEdit [query]
    Par Askarod dans le forum Bases de données
    Réponses: 15
    Dernier message: 08/12/2005, 14h47
  3. modifier le contenu de ma base
    Par dolphi dans le forum ASP
    Réponses: 2
    Dernier message: 22/08/2005, 17h17
  4. Réponses: 20
    Dernier message: 01/06/2005, 09h37
  5. modifier le contenu d'une table avec innerHTML
    Par francon81 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/05/2005, 09h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo