2010-05-26 6 views
0

Je crée un système de messagerie mais le problème auquel je suis confronté est que lorsque les utilisateurs essaient d'entrer certains caractères comme 'dans le message, la base de données ne veut pas l'autoriser. Une idée de ce que c'est?Problèmes de messagerie

Répondre

2

Cela s'appelle l'injection SQL. Fondamentalement, en ne gérant pas correctement les entrées de votre utilisateur, vous autorisez tout le monde à exécuter des instructions SQL arbitraires (ce qui n'est pas bien!). Si vous recherchez 'Injection SQL', vous obtiendrez tonnes de ressources.

Pour commencer, un coup d'oeil à cette question: How can I prevent SQL injection in PHP?

+0

Je sais que sur l'injection SQL, mais je ne suis pas au courant comment permettre aux utilisateurs de saisir des messages avec ces personnages. mysql_real_escape_string? – sark9012

+0

@Luke C'est une solution. La question à laquelle je suis lié a de très bonnes réponses qui décrivent d'autres possibilités. – Chris

+0

@Luke alors que "SQL inection" est un terme terrible pour décrire votre problème, la solution est la même –

0

Effectuez vos requêtes SQL en utilisant PDO et non en fusionnant des chaînes.