•  » Plugins
  •  » Strip_tags Or not ?

#1 2009-02-23 20:41:45

gbo
Membre
PACA
2006-11-01
1218

Strip_tags Or not ?

Pierrot,
Vient gentiment de m'indiquer que mon plugin était la cause de son souci avec le code html dans les descriptions.
Ce qui vrai puisque pour éviter des plantages, j'ai incorporé deux strip_tags sur la balise  "tittle" et sur la balise "alt"  des photos

$template->assign( array(
       'SRC_IMG' => $ThePicture['image_url'],
       'WIDTH_IMG' => $ThePicture['scaled_width'],
       'HEIGHT_IMG' => $ThePicture['scaled_height'],
       'COMMENT_IMG' => strip_tags($ThePicture['comment']),      
       'ALT_IMG' => strip_tags( $ThePicture['name']).$usemap          
       ));

Je souhaite adopter une position commune avec tous ceux qui développent du code pour Piwigo.

Quand faut-il utiliser le strip_tags et quand faut-il s'abstenir?

RQ:
Si nécessaire je peux prévoir une option avec ou sans.

Hors ligne

#2 2009-02-23 20:45:35

nicolas
Former Piwigo Team
2004-12-30
1566

Re: Strip_tags Or not ?

EX-FTB a écrit:

Quand faut-il utiliser le strip_tags et quand faut-il s'abstenir?

Il ne faut jamais utiliser strip_tags. La fonction est buggée et ne donne pas forcément le résultat escompté!


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#3 2009-02-23 21:13:09

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Strip_tags Or not ?

Je n'ai pas eu l'occasion de lire que strip_tags est buggée....
En tout cas, si c'est le cas, il faudrait prévoir de la remplacer dans piwigo, car on l'utilise dans plusieurs endroits...

EX-FTB, il faut prendre en compte le paramètre $conf['allow_html_descriptions']....
Ce qui  te donnera:

$template->assign( array(
       'SRC_IMG' => $ThePicture['image_url'],
       'WIDTH_IMG' => $ThePicture['scaled_width'],
       'HEIGHT_IMG' => $ThePicture['scaled_height'],
       'COMMENT_IMG' => $conf['allow_html_descriptions'] ? $ThePicture['comment'] : strip_tags($ThePicture['comment']),     
       'ALT_IMG' => strip_tags( $ThePicture['name']).$usemap         
       ));

Dernière modification par P@t (2009-02-23 21:13:29)


P@t

Hors ligne

#4 2009-02-23 21:50:05

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1117

Re: Strip_tags Or not ?

EX-FTB a écrit:

Pierrot,
Vient gentiment de m'indiquer que mon plugin était la cause de son souci avec le code html dans les descriptions.
Ce qui vrai puisque pour éviter des plantages, j'ai incorporé deux strip_tags sur la balise  "tittle" et sur la balise "alt"  des photos

$template->assign( array(
       'SRC_IMG' => $ThePicture['image_url'],
       'WIDTH_IMG' => $ThePicture['scaled_width'],
       'HEIGHT_IMG' => $ThePicture['scaled_height'],
       'COMMENT_IMG' => strip_tags($ThePicture['comment']),      
       'ALT_IMG' => strip_tags( $ThePicture['name']).$usemap          
       ));

Je souhaite adopter une position commune avec tous ceux qui développent du code pour Piwigo.

Quand faut-il utiliser le strip_tags et quand faut-il s'abstenir?

RQ:
Si nécessaire je peux prévoir une option avec ou sans.

Bonsoir,

Ne vois dans ma remarque qu'une balise de détresse ;-)

Merci de te préoccuper du souci et ça peut rendre service à tous...

Bonne soirée


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 15.0.0 - PHP: 8.1.30 - MySQL: 10.5.26-MariaDB-cll-lve - ImageMagick 7.1.1-19
(Hébergeur : ex2)

Hors ligne

#5 2009-02-23 22:04:24

gbo
Membre
PACA
2006-11-01
1218

Re: Strip_tags Or not ?

Pierrot_Rennes,
le but est de proposer une solution qui convienne au plus grand nombre.
Avec les informations de p@t, je pourrai livrer une nouvelle version demain ou après demain.

Dernière modification par EX-FTB (2009-02-23 22:05:05)

Hors ligne

#6 2009-02-24 09:26:58

nicolas
Former Piwigo Team
2004-12-30
1566

Re: Strip_tags Or not ?

Bon visiblement je suis le seul à connaître ou à avoir vérifier. Supposons que l'on veuille ne garder que les tags b et i. Le code devrait ressembler à ça:

Code:

$texte1 = '<p><b>nicolas</b> est <i>grand</i></p>';
echo strip_tags($texte1, '<b><i>'); // affiche bien <b>nicolas</b> est <i>grand</i>

Cela semble pas mal mais les exemples suivants prouvent que cela ne fonctionne pas.

Code:

$texte2 = '<p> 3>2 et 6<5 n\'est-ce pas ?';
echo strip_tags($texte2, '<b><i>');

Cela affiche 3>2 et 6. Le reste de la chaîne est tout simplement supprimé.

Code:

$texte3 = '<p><b onMouserOver="alert(\'coucou\')">coucou</b> est <i>grand</i></p>';
echo strip_tags($texte2, '<b><i>');

Et là catastrophe, cela affiche :
<b onMouserOver="alert('coucou')">nicolas</b> est <i>grand</i>

Là on n'a une faille XSS (Cross Site Scripting).
Ce n'est pas réellement un bug de la fonction strip_tags() car ce comportement est connu et documenté mais on n'a pas les résultats auxquels on pourrait s'attendre.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#7 2009-02-24 10:42:42

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Strip_tags Or not ?

Reconsidérons le problème néanmoins, entre nous.

strip_tags dans le cas présent sera appliqué à quel champ?
et ce champ est renseigné par qui?
Pas par un visiteur? (On ne parle pas des commentaires des images, mais de leurs descriptions).

Quel webmaster écrit dans une description <b ou <i onMouserOver= ?
De plus le bug connu de strip_tags n'est présent que lors qu'on lui demande d'exclure certain tags.
Il ne faut pas exagérer sinon certains fournisseurs d'accès vont trouver le prétexte pour nous retirer strip_tags. Si tu vois qui je veux dire.

;-)

PS: le résultat du dernier exemple ne donne pas :
<b onMouserOver="alert('coucou')">nicolas</b>...
mais
<b onMouserOver="alert('coucou')">coucou</b>...

(Ce qui est bien une faille XSS (Cross Site Scripting). Nous sommes d'accord.)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

  •  » Plugins
  •  » Strip_tags Or not ?

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2025 · Contact