Bonjour,

J'ai commencé il y peu de temps à programmer un système gérant un ensemble de produits avec un moteur de recherche, le tout accessible par un large panel d'utilisateurs.

On m'a dés lors conseillé d'utiliser le htmlentities lorsque je réceptionne les variables sous forme de $_POST pour empêcher à quiconque d'exécuter des scripts à partir des variables émises dans les formulaires.

Le problème est que par la suite je dois enregistrer ces informations dans la base de données.

C'est à dire que si je crée une fiche d'un produit qui s'appel "mévèça", il l'enregistrera dans la base de données de la manière suivante : "mévèçà". Dans ce cas, si l'utilisateur effectue une recherche sur "grave" dans la liste des produits, il affichera le produit "mévèça" ... ce qui comme vous pouvez vous en rendre compte est fort problématique ...

Pour le moment je n'ai trouvé que deux solutions :
- soit je supprime le htmlentities sur les variables $_POST, mais ça diminuera la sécurité,
- soit je rajoute juste avant l'enregistrement un html_entity_decode, mais ce n'est que reporter le problème ... en effet il me semble que le problème de sécurité sera reporté lorsque l'on affichera par la suite, l'information à l'écran.

Aucune des deux solutions n'étant satisfaisantes, pourriez vous me proposer quelque chose de plus approprié, alliant sécurité et performance ?