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 :

Les contrôles de formulaire, quel test optimal ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut Les contrôles de formulaire, quel test optimal ?
    bonjour a tous,

    je controle en php des données envoyées en get avant de les inserer dans une base de données, voici mes controles:

    $nomf=$_GET["nomflux"];
    $nomf=stripslashes($nomf);
    $nomf=htmlentities($nomf);
    $nomf=utf8_encode($nomf);
    le probleme est que si je veux envoyer des données comprenant un accent, l'envoie dans la base ne se fait pas. Ou est le probleme?

    merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 26
    Par défaut
    Moi je ferai plutôt :

    $nomf=$_GET["nomflux"];

    // Ici test du type (numérique ou pas) et/ou de la longueur de $nomf

    // Protège les caractères spéciaux pour les insérer dans la BDD
    $nomf= addslashes($nomf);

    Ca suffit pas ?

  3. #3
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    On peut aussi encore plus protéger avec htmlentities() (qui convertit toutes les entités HTML en caractères normaux )
    Ce qui donnerait :
    $nomf= addslashes(htmlentities($nomf));
    Par contre, je ferai la vérification des types en Javascript.

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    l'insertion dans la base ne marche tjs pas, d'ailleur meme sans controles ça ne marche pas si il y a des '

  5. #5
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    Normalement addslashes() rajoute des slashes permettant d'échapper les guillemets simples ( [FONT=courrier]'[/FONT] ), guillemets doubles ( [FONT=courrier]"[/FONT] ), anti-slash ( [FONT=courrier]\[/FONT] ) et NUL (le caractère [FONT=courrier]NULL[/FONT] ).

  6. #6
    Membre émérite Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Par défaut
    C'est pas très conseillé de formater des données pour les rentrer dans une base de données, htmlentities() surtout!
    Pour obtenir une chaîne de caractères interprétées sans danger dans la requête, il faut utiliser mysql_real_escape_string() ou mysqli_escape_string() si tu travailles avec mysqli sur PHP 5! http://fr2.php.net/manual/fr/function.mysql-real-escape-string.php

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/05/2012, 20h43
  2. [Toutes versions] Question sur les contrôles des formulaires
    Par Duddy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/01/2010, 13h42
  3. Réponses: 1
    Dernier message: 21/07/2006, 06h56
  4. Réponses: 2
    Dernier message: 04/02/2005, 12h03
  5. Réponses: 1
    Dernier message: 27/10/2004, 16h36

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