sécurité formulaire !?

Répondre
N@b
le 12/03/2005 à 19:42
N@b
salut ...

j'ai créé un formulaire d'inscription pour membres et puis je veux protéger les données sur ma base en limitant les caractères et en interdisant quelques une ...

pour limiter le nombre de caractères d'un champs j'utilise la fonction strlen(); comme suit:
<?
$champ=addslashes($_POST["champ"]);
if ($strlen($champ) > 15)
{
echo "le champ \"champ\" dépasse 15 caractères";
}

mais si je veux protéger mon champs contre des insertions de caractères inutiles comme # , ; < > ? ! ...etc.

quelle est la fonction que je dois utiliser ? et comment l'écrire ?

Merci Beaucoup ....
Lefounard
le 12/03/2005 à 19:55
Lefounard
pas besoin de faire ca, tu peut limiter le nombre de char directement dans le formulaire avec je crois max= , verifi sur google !
ensuite pour verifier les char, utilise les expressions regulieres : ya un cours a droite , ou sinon ya des fonctiosn comme htmlenti.. et strip_tags,
Ciao,
I am singing in the rain , I am happy again !!
mouna
le 12/03/2005 à 20:02
mouna
<?
$champ=htmlentities($_POST['champ']);
if ($strlen($champ) > 15)
{
echo 'le champ $champ dépasse 15 caractères';
}
else
{
le reste du code ici
}

@micalement
bon prog
bibi
le 13/03/2005 à 01:25
bibi
tu peux tout faire tous tes tests avec des expressions régulères :)
commit suicide
Graal
le 13/03/2005 à 09:01
Graal
Mais les expressions regulières sont beaucoup trop longues, mieux vaut utiliser une fonction qui fait la même chose quand on le peut.
zebden
le 13/03/2005 à 11:35
zebden
Bon deja une fonction c'est sans le dollar donc strlen.
Mouna c'est tres sympa de repondre mais pour un else ca en vaut pas la peine en reprenant la premiere faute en +.

Oui ne pas inutilement reinventer la roue ^_^
zebdinou pour les intimes / Blog : http://www.zebden.fr
Lefounard
le 13/03/2005 à 15:37
Lefounard
surtout mouna (lol on s'acharne sur elle lol ;) ), ca sert a rien de faire ton code sachant que l'on peut deja limité le nombre de caracteres directement dans le formulaire ca fait gagner du temps et aussi des dollars $ , lol
Ciao,
I am singing in the rain , I am happy again !!
mojorisin
le 13/03/2005 à 20:43
mojorisin
Oui mais le probleme c'est qu'il ne faut pas faire confiance aux données reçues.
Qui te dis que les données que tu reçois provienne bien de ton formulaire ?
Donc utiliser maxlength de la balise input est bien, mais si c'est pour recevoir des données sensibles, he bien cela ne suffit pas.
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours