Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2011, 19h58   #1
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 92
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 92
Points : 14
Points : 14
Par défaut Injections SQL, questions

Bonjour,

J’aurais quelques questions concernant la sécurité de mon site.

Désolé d’avance si le message est un peu long, j'espère que ça ne vous découragera pas de m’aider.

J’ai pris l’habitude de mettre mysql_real_escape_string sur toutes les données entrantes dans ma base de donnée.

Prenons exemple d’une table contenu toute simple avec 3 champs : ID|TITRE|TEXTE

Pour mon champ TEXTE j’utilise un WYSIWYG (TinyMce), j’ai remarqué que tous les accents, les guillemets étaient convertis en entités html :

Exemple : l’étau devient dans ma base de donnée : L’ étau

Comment ça se passe si je veux maintenant créer un formulaire de recherche qui recherche à la fois sur les champs TEXTE et TITRE.

En cherchant et essayant toutes sortes de combinaisons pour que ma recherche fonctionne comme il faut sur le champ TEXTE, j'ai remarqué qu'il fallait passer ma variable comme ceci :
Code :
htmlentities($_POST["recherche"])
Exemple de ma requête :
Code :
SELECT * FROM contenu WHERE TITRE LIKE "%'. mysql_real_escape_string ($_POST["recherche"]).'%" OR TEXTE LIKE "%'. htmlentities($_POST["recherche"]).'%")
Du coup j’ai l’impression que je suis vulnérable aux injections SQL avec htmlentities($_POST["txt_recherche"])

Je suis un peu perdu, et comme c’est un sujet relativement sensible, un peu d’aide serait la bienvenue !

D’avance un grand merci !
link.80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 20h32   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu peux coupler les fonctions :
Code :
mysql_real_escape_string(htmlentities($_POST["recherche"]))
Pour le fond, tu dois pouvoir configurer tinymce pour qu'il ne convertisse pas les données.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 10h22   #3
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 92
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 92
Points : 14
Points : 14
Merci beaucoup sabotage pour ta réponse

C'était tout bête en fait, comme souvent on cherche a faire compliqué alors qu'on peut faire simple

Bonne journée à toi et meilleures salutations
link.80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h21.


 
 
 
 
Partenaires

Hébergement Web