securisé un <form>

pandipanda
Invité n'ayant pas de compte PHPfrance

18 juil. 2005, 11:28

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] ?

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

18 juil. 2005, 11:29

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)));
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

pandipanda
Invité n'ayant pas de compte PHPfrance

18 juil. 2005, 11:33

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)
}


:?:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

18 juil. 2005, 11:35

Bien entendu :)
Surtout que $_POST est un tableau !
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 983 Messages

18 juil. 2005, 14:17

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 ;)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 juil. 2005, 14:18

exact, mais depuis PHP 5 :(

Mammouth du PHP | 983 Messages

18 juil. 2005, 14:22

En PHP4, si mes souvenirs sont bons, il me semble qu'il fallait comme ca:
foreach($_POST as $cle=>$value)
    $value=nettoyage($_POST[$key]);