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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Script pour protéger les formulaires PHP de l'injection SQL


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Script pour protéger les formulaires PHP de l'injection SQL
    Bonjour à tous,
    J'ai développé un script permettant de transformer les variables issues de formulaires afin d'éviter l'injection SQL.
    Le voici :
    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
    <?php
    /***************************************************************
    Cette fonction permet d'exclure de la variable tous les mots-clés dangereux.
    Elle retourne la variable en minuscule après avoir retiré les mots clés dangereux, 
    les balises et après avoir ajouté des slashs à chaque quote ou guillemet.
    	****************************************************************/
    	function protege($var){
    		//Mots à exclure de la variable
    		$tab_exc=array('SELECT','FROM','WHERE','UNION','INSERT','INTO','DROP','ORDER','OR','#','/*','*/','%','CHAR(','CONV(','DATABASE()','USER()');
    		//Exclue les mots du tableaux de la variable
    		for($i=0;$i<17;$i++){
    			$var=str_replace($tab_exc[$i],'',strtoupper($var));
    		}
    		//Ajoute des slash derrière les quotes
    		$var=addslashes($var);
    		//Supprime les balises
    		$var=strip_tags($var);
     
    		return strtolower($var);
    	}
    ?>
    Dites moi ce que vous en pensez, peut-elle être efficace.
    Quelles sont ses limites...

    Merci.

  2. #2
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    Salut,

    Tu t'es fatigué pour pas grand chose

    regarde du côté de mysql_real_escape_string() (si tu utilises mysql) normalement chaque SGBD à ses propres fonctions de protection

    il ne faut pas tout réinventer quand tout existe déjà

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse rapide...
    J'ai bien vu cette fonction (ndlr:mysql_real_escape_string()) mais je n'ai pas compris comment elle fonctionne exactement.
    Que remplace t-elle, comment agit-elle sur les variables?
    Si tu peux me fournir quelques rapides explications ou me renvoyer vers une page qui l'explique correctement.

    Merci.

  4. #4
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    ICI

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je venais de trouver également les infos dont j'avais besoin.
    Merci en tout cas pour ton aide, je vais tester tout ça.

    Si tu as des recommandations à me faire quant à la sécurisation des formulaires sous PHP, je suis avide de connaissances...

    Merci encore

    Bonne journée

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

Discussions similaires

  1. Script pour imprimer les accents ?
    Par sperron dans le forum ASP
    Réponses: 12
    Dernier message: 12/06/2006, 20h55
  2. utilisation de popup pour remplir un formulaire php
    Par kro35 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/06/2006, 12h03
  3. Script pour enlever les balises html
    Par Scratch48 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/11/2005, 17h16
  4. [MySQL] Script pour modifier les caracteres speciaux dans la bdd
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/09/2005, 13h07
  5. Réponses: 6
    Dernier message: 24/01/2005, 14h12

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