Page 1 sur 1

securisé un <form>

Posté : 18 juil. 2005, 11:28
par pandipanda
pour securisé les variabels passé par mon formulaire en methode post j aimerais faire passer tous les $_post[quelquechose] part une fonction de nettoyage :

function nettoyage($chaine){
$chaine=trim($chaine);
$chaine=strtolower($chaine);
$chaine=addslashes($chaine);
return $chaine;
}

y a t il une ecriture generique pour ne declarer cette operation qu une seule fois pour tous les $_post[quelquechose] ?

Posté : 18 juil. 2005, 11:29
par mere-teresa
Tu peux les mettre à la suite :) mais tu perds les moeyns de contrôler à chaque étape le nettoyage (en DEBUG mode)


$chaine=trim(strtolower(addslashes($chaine)));

Posté : 18 juil. 2005, 11:33
par pandipanda
je me suis mal exprimé dsl ,


je voulais savoire si au lieu de faire :
function nettoyage($chaine){
$chaine=trim($chaine);
$chaine=strtolower($chaine);
$chaine=addslashes($chaine);
return $chaine;
}

$quelquechose1=nettoyage($_post[quelquechose1]);
$quelquechose2=nettoyage($_post[quelquechose2]);
$quelquechose3=nettoyage($_post[quelquechose3]);
....

on pouvait faire quelque chose comme un :

foreach($_POST as $nom=>$value)
{
$value=nettoyage($value)
}


:?:

Posté : 18 juil. 2005, 11:35
par mere-teresa
Bien entendu :)
Surtout que $_POST est un tableau !

Posté : 18 juil. 2005, 14:17
par rami
Il me semble qu'il faut utiliser cette syntaxe:
foreach($_POST as &$value)
    $value=nettoyage($value)
Si tu ne mets pas la référence, tu modifieras la copie du tableau ;)

Posté : 18 juil. 2005, 14:18
par ouckileou
exact, mais depuis PHP 5 :(

Posté : 18 juil. 2005, 14:22
par rami
En PHP4, si mes souvenirs sont bons, il me semble qu'il fallait comme ca:
foreach($_POST as $cle=>$value)
    $value=nettoyage($_POST[$key]);