protection contre injection sql insuffisante

WRInaute passionné
Bonjour tout le monde,

Je suis sur un petit moteur de recherche interne me permettant de retrouver facilement une page par la référence du produit.

Mon petit moteur fonctionne très bien, mais j'aimerai le sécuriser. Nottement contre des injections sql.
Pour le moment, je suis parti seulement sur l'utilisation de mysql_real_escape_string :

Code:
$recherche = mysql_real_escape_string($_POST['recherche']);
$sql = 'SELECT ref, page FROM `references` WHERE `ref` LIKE "'.$recherche.'%"';

Mais cela n'est pas siffisant pour éviter l'injection d'une requete sans caractère spéciaux mais qui planterai le serveur.

Une ébauche de solution existerait avec MySQLi mais je ne suis pas familiarisé. Que me suggérez-vous pour sécuriser la recherche, et par conséquent le site ?
 
WRInaute impliqué
Un simple str_replace ça va limiter fortement les risques déjà.
Il faut empêcher l'utilisation de ces quelques caractères : < > ; " \
Déjà avec ça je vois pas trop comment le petit crackeur pourrait faire quoi que ce soit.
 
WRInaute accro
pour préserver des attaques SQL un filtrage de mot genre INCERT, DELETE, ... est efficace.
La suppression des caractères de commentaire SQL évite aussi l'envoie de plusieurs requêtes concaténées.
 
Discussions similaires
Haut