addslashes et htmlentities : javascript qui s'execute quand même

addslashes et htmlentities : javascript qui s'execute quand même - PHP - Programmation

Marsh Posté le 13-03-2009 à 17:11:29    

Bonjour, j'ai un léger problème, enfin je sais pas si c'est vraiment un gros problème mais voilà :  
J'ai un code php qui permet d'afficher un texte à partir d'une requête sql

Code :
  1. echo $texte;


Ce texte a été soumis avant à des fonctions de protection :  

Code :
  1. // submit du texte depuis un formulaire
  2. // protection puis insertion en BDD
  3. $texte = addslashes(htmlentities(nl2br($_POST['texte'])));


 
Jusque là, aucun problème, sauf que si dans mon champ je submit par exemple :

Code :
  1. <img style=visibility:hidden; src=url onload=test=&#039;test&#039;;alert(unescape(test));>


 
Et bien j'ai une alerte javascript qui s'affiche sur ma page, ou je récupère le texte  :heink:  
Je pourrais très bien effectuer un str_replace lors de la soumission en BDD, mais y a t-il une fonction qui permet de retirer les ">" "<" par exemple ? pour éviter toute tentative d'attaque XSS ?
 
Merci


Message édité par Blair witch le 13-03-2009 à 17:11:42
Reply

Marsh Posté le 13-03-2009 à 17:11:29   

Reply

Marsh Posté le 13-03-2009 à 17:23:22    

1. escaper du SQL avec addslashes = fail
2. escaper (ou tenter) le HTML avant d'insérer dans la DB = fail
3. nl2br avant escaping html = fail
4. si ton code source après htmlentities contient '<img' et non '&lt;img', c'est que tu fais de l'unescaping quelque part


Message édité par masklinn le 13-03-2009 à 17:24:10

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-03-2009 à 17:30:01    

Euh merci, mais tu me proposes quoi ? (à part des "fails" :o)

Reply

Marsh Posté le 13-03-2009 à 17:47:05    

D'apprendre à coder, et de fournir plus de code parce que là vu ce que tu donnes à part avec une boule de cristal ça va être dur d'aider.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-03-2009 à 17:48:59    

Très aimable  [:implosion du tibia]
 
Si quelqu'un d'un peu moins aigri et hautain, pourrait m'expliquer où est le problème ?
Sinon bah tant pis ...


Message édité par Blair witch le 13-03-2009 à 17:58:18
Reply

Marsh Posté le 13-03-2009 à 18:07:23    

Bon c'est bon c'est réglé ...
 
Merci quand même à Masklinn, enfin plus désolé de l'avoir déranger  :sarcastic:

Reply

Marsh Posté le 13-03-2009 à 18:15:26    

bah en même temps on peut pas t'aider si on connait pas les autres fonctions appliquées à ton texte avant la sortie...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed