2010-09-28 8 views

Répondre

3

Vous avez un problème d'injection SQL dans votre script côté serveur. Le problème n'a rien à voir avec TinyMCE; un champ de texte brut exposerait le même problème.

Ceci est un sérieux problème de sécurité. Vous avez besoin de SQL-string-literal-escape chaque morceau de texte que vous mettez dans une requête SQL. Il est préférable d'utiliser des requêtes paramétrées, de sorte que les valeurs de texte ne soient pas directement ajoutées dans les requêtes.

La manière dont vous faites des requêtes d'échappement SQL ou des requêtes paramétrées dépend du langage de programmation côté serveur que vous utilisez. (par exemple pour PHP voir mysql_real_escape_string, mysqli_bind_param ou PDOStatement->execute avec l'argument paramètres.)

+0

il devrait être ... mysql_real_escape_string * pour les chaînes et le type de casting explicite pour les nombres * ... –

+0

@bobince, merci beaucoup !!! – Zebra

+0

@Col. Shrapnel, thanka! – Zebra

3

Lorsque vous écrivez votre variable dans PHP, assurez-vous d'utiliser la variable addslashes. Par exemple;

$text = addslashes($_POST['text']); 

Cela fonctionnera. Il m'a fallu quelques jours pour comprendre cela. J'espère que ça aide.