<!--:fr-->[tuto php/sql] sécuriser ses requêtes SQL : sortez couvert!<!--:-->

[tuto php/sql] sécuriser ses requêtes SQL : sortez couvert!

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.

Did you enjoy this post?

If so, would you please consider sharing it with the world

User Responses

3 Responses and Counting...

  1. ronigoal

    mars 28, 2008

    merci bien pour ce poste

  2. Antoine

    mars 28, 2008

    héhé salut toi :p de rien ;)

  3. Ben

    mars 28, 2008

    Je bookmarke, ça me servira ;)

Leave a Reply

Default User

Your Name

mars 28, 2008

* Name, Email, and Comment are Required

Get Adobe Flash playerPlugin by wpburn.com wordpress themes