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 :

Controle d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 25
    Points : 15
    Points
    15
    Par défaut Controle d'un formulaire
    Bonjour,

    Je suis en train de coder un site et je cale sur ... les formulaires.
    Impossible de trouver exactement quoi faire pour le sécuriser et enregistrer les données correctement (je ne parle pas du contrôle de cohérence des données) .

    J'ai cherché, fais pas mal de tests, essayé des scripts, mais à chaque fois j'arrive à trouver une faille.
    Entre les stripslashes, htmlspecialchars et autres htmlentities, je m'y perd.
    Difficulté supplémentaire, il faudrait idéalement que cela fonctionne avec MAGIC QUOTES activé ou non.


    Voila la facon dont c'est organisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    $email      	= (isset($_POST['email']))		    ? $_POST['email']       : '';
    $nom        	= (isset($_POST['nom']))        	? $_POST['nom']         : '';
    $commentaires	= (isset($_POST['commentaires']))	? $_POST['commentaires']: '';
     
    $message 		 = '';
     
    if (isset($_POST['envoi']))
    {
    	$message_err	 = 'Certains champs sont en erreur ou non renseigné : ';
    	$message  		.= (isEmail($email)) 		? ''	: '<br>- Email'; 
    	$message  		.= ($nom != '') 			? ''	: '<br>- Nom';
    	$message  		.= ($commentaires != '') 	? ''	: '<br>- Description du projet';
     
    	if ($message != ''){
    		echo $message_err . $message;
    	}else{
    		$demande = new TrtC();
     
    		$demande->email		= $email;
    		$demande->nom		= $nom;
    		$demande->commentaires = $commentaires;
     
    		$demande->enregistrement();	
     
    		$demande ='';
    	}	
    }
     
    // Si le formulaire à deja ete envoyé et que le message d'erreur n'a pas ete positionné
    //On construcit le formulaire en fonction du destinataire
    if (!isset($_POST['envoi']) || $message != ''){
    	include("include/formulaires.php");
    }
     
     
    Dans formulaire.php :
    ...
    <input style="width:350px;" type="text" id="nom" name="nom" value="'.$nom.'" />
    <textarea id="commentaires" name="commentaires" rows="auto" cols="auto" style="width:350px; height:100px;">' .$commentaires. '</textarea>
    ...
    La classe TrtC enregistre le commentaire en table.

    Que faut-il faire et à quel moment pour eviter les injections de code et bien tout enregistrer en table ?
    Les quotes en particulier, surtout les doubles, me posent problème.

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Impossible de trouver exactement quoi faire pour le sécuriser et enregistrer les données correctement (je ne parle pas du contrôle de cohérence des données) .
    C'est pour ça que dans leur grande mansuétude, les développeurs de PHP ont intégré les filtres qui permettent de vérifier, sécuriser et transformer les données (filter_input_array peut d'ailleurs tout faire d'un coup si c'est pas merveilleux ça).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 25
    Points : 15
    Points
    15
    Par défaut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb pour verouillé les controles d'un formulaire (VBA)
    Par Celia1303 dans le forum Access
    Réponses: 12
    Dernier message: 24/10/2005, 11h19
  2. taille d'un controle dans un formulaire
    Par kleenex dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2005, 09h41
  3. Réponses: 5
    Dernier message: 07/09/2005, 08h27
  4. [C#] Custom Control : Recuperer valeur formulaire
    Par victorbru dans le forum ASP.NET
    Réponses: 22
    Dernier message: 21/04/2005, 09h02
  5. validation d'un controle dans un formulaire
    Par marjo20 dans le forum IHM
    Réponses: 5
    Dernier message: 10/10/2004, 23h00

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