Aujourd’hui rien de transcendant, mais plutôt quelque chose d’utile que j’utilise à chaque fois que je fais une requête vers une de mes bases de données. Je me protège des injections SQL.

J’utilise cette fonction pour chacune des variables que j’utilise dans mes requêtes.

function protection($string){

    if(get_magic_quotes_gpc()) {

        if(ini_get(’magic_quotes_sybase’)) {

            $string = str_replace(”””, “‘”,$string);

        } else {

            $string = stripslashes($string);

        }

    }

    return mysql_real_escape_string($string);

}

Pas grand chose à expliquer coté algo : on applique un traitement différent selon que les magic_quotes soient activées ou non sur votre serveur. Dans les deux cas vos variables seront protégées!

Pour l’utiliser rien de plus simple. Quand vous récupérez vos variables, vous les faites passer à la moulinette puis vous construisez votre requête ;-). Un petit exemple vaut mieux qu’un long discours :

if(isset($_REQUEST['new_editeur'])){
            $editeur= protection($_REQUEST['new_editeur']);
            $sql='INSERT editeur VALUES(\'0\',\''.$editeur.'\')';
            $req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        }

Avec ça vous allez pouvoir dormir sur vos deux oreilles!! Cependant je vous conseille de continuer à faire des sauvegardes TRÈS régulièrement de vos bases.

Partagez cet article :
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • co.mments
  • De.lirio.us
  • Live
  • Ma.gnolia
  • Pownce
  • Scoopeo
  • Technorati
  • TwitThis
  • Wikio FR
  • e-mail
  • Wikio

Autres articles intéressants :

Articles les plus actifs :