Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2007, 15h38   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 42
Points : 16
Points : 16
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 :
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 :
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.
Jorael est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 01h10   #2
Candidat au titre de Membre du Club
 
Inscription : novembre 2004
Messages : 35
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 35
Points : 11
Points : 11
Oui, c'est bien la fonction import_request_variables qui est en cause.

Voila une solution alternative :

Code :
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==========================
4R416N33² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 18h07   #3
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 42
Points : 16
Points : 16
Merci pour la solution, c'est vrai que je n'y ai pas pensé non plus.
Jorael est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 20h50   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2004
Messages : 35
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 35
Points : 11
Points : 11
Mais derien

pense à mettre résolu dans ton titre !!!
4R416N33² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2007, 18h35   #5
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 42
Points : 16
Points : 16
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 !
Jorael est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h19.


 
 
 
 
Partenaires

Hébergement Web