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 :

Demande conseil traitement variables formulaire


Sujet :

Langage PHP

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 156
    Points : 32 351
    Points
    32 351
    Par défaut Demande conseil traitement variables formulaire
    Bonsoir,

    J'aurais besoin de conseils sur le traitement de variables récupérés depuis un formulaire afin de sécuriser leur contenu et d'avoir des failles de sécurité.

    Merci d'avance pour votre retour sur les bonnes pratiques à utiliser.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Membre expérimenté Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2004
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mai 2004
    Messages : 1 152
    Points : 1 702
    Points
    1 702
    Par défaut
    Bonsoir

    Si ton projet utilise composer, tu peux te reposer sur des librairies existantes comme celle de Laravel : illuminate/validation

    Tu en fais un composer require puis, dans ton code, tu auras accès à toutes les rules de Validation : https://github.com/illuminate/validation

    Voici un petit exemple trouvé sur GG : https://gist.github.com/spekkionu/e9103993138e666f9f63 mais nul doute que tu en trouveras des milliers d'autres.

    Bonne soirée et bonne programmation.
    Christophe (cavo789)
    Mes scripts Open Source : https://github.com/cavo789

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 156
    Points : 32 351
    Points
    32 351
    Par défaut
    Merci de ton retour, mais je n'utilise pas Composer.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    septembre 2003
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : septembre 2003
    Messages : 2 108
    Points : 1 829
    Points
    1 829
    Par défaut
    Bonjour,

    Si ton server, clé de voute du tout, est bien configuré et qu''il tienne la route, sans oublier ses éventuelles màj, que faire de plus ?

    Ce n'est pas Christophe que me contredira sur ce point je pense

    Sans omettre le blindage/limitations des inputs.

    Sans omettre non plus la màj du système de BdD si cela s'appuie dessus.

    Mais là, je raisonne sur un formulaire classique, sans passer par exemple sur PHPMailer.

    DS7

  5. #5
    Membre expérimenté Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2004
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mai 2004
    Messages : 1 152
    Points : 1 702
    Points
    1 702
    Par défaut
    Le message de chrtophe indique qu'il s'agit d'une solution php 5.3 et, je présume alors, qu'il s'agit d'un best effort (ne pas investir de trop dans cette vieille solution).

    Si le projet n'était pas prévu pour Composer (c'est vraiment pas de chance mais peut-être le développeur original n'avait pas cette compétence), y intégrer composer demande quelques adaptations et c'est peut-être trop "cher" pour le besoin exprimé par chrtophe.

    Il y a bien moyen de se passer de Composer mais cela reste alors du chipotage (faut télécharger la dépendance, faire les différents require_once et cela dans le bon ordre, etc.), bref, du chipotage et peut-être alors tout aussi coûteux en temps.

    Faudrait donc trouver une librairie de "validation" non basée sur Composer ? Faudrait écumer le web...

    On peut aussi tout "se taper à la main" en faisant appel à différentes validations; voir https://www.php.net/manual/fr/filter...s.validate.php

    Fastidieux...
    Christophe (cavo789)
    Mes scripts Open Source : https://github.com/cavo789

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 156
    Points : 32 351
    Points
    32 351
    Par défaut
    Si ton server, clé de voute du tout, est bien configuré et qu''il tienne la route, sans oublier ses éventuelles màj, que faire de plus ?
    Ma question concerne plus un avis sur les bonnes pratiques pour "sanitiser" les éléments de formulaires pour éviter les failles au niveau site web type XSS ou SQL Injection, etc., pas forcément serveur, serveur sur lequel de toute façon je n'aurais pas la main.

    y intégrer composer demande quelques adaptations et c'est peut-être trop "cher" pour le besoin exprimé par chrtophe.
    Oui c'est cher, car je ne connais pas. Pour moi composer c'était pour installer des dépendances PHP en ligne de commande. Si c'est bien ça, sur un serveur type mutualisé ça va être compliqué.

    Je ne suis pas programmeur de métier. Je ne tiens pas à utiliser spécialement une bibliothèque, plutôt le faire en natif PHP.

    Fastidieux
    Pas forcément, ça restera des tests simples. L'aspect ou j'ai besoin d'assistance c'est surtout contre failles classiques liés à des saisies foireuses notamment sur les chaines de caractères. De mémoire on utilisait htmlentities et/ou htmlspecialchars mais je ne sais pas si c'est toujours d'actualité
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    7 976
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 7 976
    Points : 12 430
    Points
    12 430
    Par défaut
    pour se protéger des injection SQL, il y a les requêtes préparées :
    https://www.php.net/manual/fr/mysqli...statements.php
    j'ai pris le réflexe de les utiliser dès qu'il y a des paramètres dans une requête même si je suis sûr (ou "je crois être sûr") que les paramètres sont 100 % vérifiés.

    ensuite si vous incluez un fichier avec "require", et que le nom du fichier est construit dynamiquement, il vaut mieux lister les noms de fichiers autorisés et ensuite vérifier que le fichier recherché est dans la liste. la plupart des vérifications qui sont faites autrement peuvent être exploitée avec des caractères spéciaux.

    et pour ne pas avoir de souci en construisant le code HTML, utilisez htmlspecialchars partout, même si vous êtes sûr que vous n'affichez qu'un nombre ou un texte qui a l'air sécurisé.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/08/2020, 11h16
  2. Demande Conseils sur envoi vers serveur et traitement XML
    Par anthride dans le forum Silverlight
    Réponses: 1
    Dernier message: 15/11/2010, 17h49
  3. Problème de variables php pour traitement du formulaire
    Par marocteech dans le forum Langage
    Réponses: 1
    Dernier message: 01/01/2008, 16h23
  4. [PORTEE VARIABLES] Demande conseil je suis bloqué
    Par PoZZyX dans le forum Langage
    Réponses: 18
    Dernier message: 29/03/2006, 09h48

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