Aller au contenu
Invision Board France

Des images pour illustrer mes news


LLaumgui

Messages recommandés

On vient de me poser la question sur mon site. Je donne aussi la réponse ici car ça peux aider certains.

 

Tout d'abords visitez mon site, vous voyez que j'affiche des images pour illustrer mes news en page d'accueil.

Comment ? Le tag représente une solution mais aussi une faille de sécurité. Je me suis donc codé mon petit tag à moi. Le tag [news].

 

Qu'est ce que c'est ?

En gros, je tappe :

[news]soft[news]

et lui m'affiche (Apres parsage) :

<p style='text-align:justify'><img src='https://www.xperience-fr.net/images/topics/soft.gif' hspace='10' style='float:left;vertical-align:top' alt='' /></p>

 

 

 

 

Comment ?

 

Editer : sources/lib/post_parser.php.

 

Chercher :

$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt );

Rajouter en dessous :

$txt = preg_replace("#\[news\](.+?)\[/news\]#is", "<p style='text-align:justify'><img src='https://www.votresite.com/images/topics/\\1.gif' hspace='10' style='float:left;vertical-align:top' alt='' /></p>", $txt);

 

Chercher :

function unconvert($txt="", $code=1, $html=0) {

 if ($code == 1)
 {

Rajouter en dessous :

$txt = preg_replace( "#<p style='text-align:justify'><img src='https://www.votresite.com/images/topics/(.+?).gif' hspace='10' style='float:left;vertical-align:top' alt='' /></p>#is"  , "\[news\]\\1\[/news\]"  , $txt );

 

NB: J'ai hardcodé l'extension gif, mais vous pouvez adapter.

Lien vers le commentaire
Partager sur d’autres sites

je n'ai pas regarde le code en detail, mais il me semble a priori que le choix du repertoire n'est pas securise. Exemple :

[news]../../soft[news]

 

Donc a chaud, il me semble que n'importe quelle image de ton site peut etre utilisee. A voir.

 

:)

Lien vers le commentaire
Partager sur d’autres sites

D'un autre côté, est ce grave ???

Car si j'utilise les images du dossier topic, c'est pour les centraliser en un même point.

 

De plus après parsage (Expressions régulières), ton code donnerais :

'http://www.votresite.com/images/topics/../../soft.gif

Pas sur que ça marche...

 

[edit]Ca marche :).

Mais bon, j'en reviens donc à ma question, est ce si grave et si dérangant ??? Si j'ai hardcodé le chemin du repertoire, c'est juste pour écrire le moins possible à chaque fois. C'est un choix.

Modifié par LLaumgui
Lien vers le commentaire
Partager sur d’autres sites

D'un autre côté, est ce grave ???

Car si j'utilise les images du dossier topic, c'est pour les centraliser en un même point.

tout depend de ce que tu veux...

 

Simplement pour l'instant, puisqu'il y a moyen de se balader partout, tu ne centralises pas grand chose...

 

Autrement, un petit test dans le parsing a la recherche d'une de '../' et le probleme est regle.

 

Autre petit test qui peut-etre utile : verifier si l'image indiquee existe bien.

 

Ce sont des details. :)

Lien vers le commentaire
Partager sur d’autres sites

Disons que c'est pas un mod, mais une astuce qui permet d'éviter de mettre le tag . C'est pas un chef d'oeuvre de programation, mais de la dépanne propre.

Lien vers le commentaire
Partager sur d’autres sites

Logique : Les expressions régulières (surtout en bbCode) se ressemblent toutes.

Regarde, ma ligne de code ressemble aussi à celle de Matt. Pourquoi ? C'est du "prend ça et transforme en ça". Il y a pas 36 façons de le faire.

 

Donc avant de faire des remarques sur d'éventuelles ressemblances, faut connaitre un peu le code php et les expressions régulières :lol:.

 

Un peu de lecture :

preg_replace.

Expressions régulières ??? C'est quoi ? Ca fait quoi ? C'est quoi un masque ? Ca ce mange ?.

Modifié par LLaumgui
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir ,

je me mêle peut etre de ce qui ne me regarde pas,mais je vois LLaumqui que tu utilises MyIBportal donc je ne comprend pas pourquoi tu dois te faire une fonction qui tout simplement existe sur ce portal?

dans chaque bloc ou message en bas tu as Fichier de l'icone,il suffit de mettre le nom du gif et bien sur de le mettre aussi dans styles_images.

je m'en sers moi-même et ca marche parfaitement!

Lien vers le commentaire
Partager sur d’autres sites

Donc avant de faire des remarques sur d'éventuelles ressemblances, faut connaitre un peu le code php et les expressions régulières :P.

Ce n'étais pas une remarque, juste un lien intéréssant :)

 

Je ne remets pas en cause ton travail tu sais ;)

 

@ la prochaine :P

Lien vers le commentaire
Partager sur d’autres sites

Le tag représente une solution mais aussi une faille de sécurité.

Pourrais tu me dire où est la faille de sécurité si le DoHTML est seulement utiliser par l'Admin et les Modos ?

 

D'ailleurs, on peut comparer plusieurs failles entre elle... prennons par exemple le SSI ... elle peut représenter un autre type de danger... :)

Modifié par Darken
Lien vers le commentaire
Partager sur d’autres sites

@Pepito --> Euh... Ton truc c'est pas pareil, moi je te parle pas blocs mais topics. Chaque news en page d'accueil est un topic, pas un bloc.

 

@Darken --> Visite aussi mon site, tu verra que j'ai le forum "vos news" ou les membres proposent des news qui sont publiés après... Donc ça fait pas top de mettre un DoHTML à tous... En fait par cette phrase je disait que mon astuce représente une alternative à DoHTML que je conseil vraiement qu'en dernier recours...

 

@Web Mobile --> No pb, mais visite quand même les liens que je t'ai filé, c'est hyper puissant come truc.

 

 

Sinon, si j'ai fait ce topic, c'est qu'on m'a demandé par 3 fois comment je fesais et que j'ai voulu que ma réponse servent à tous :).

Lien vers le commentaire
Partager sur d’autres sites

Chacun fait comme il veut aussi après tout !

 

C moi qui est demandé à Llamgui comme il fesait son truc.

Je trouve pas ca trop compliqué à comprendre (surtout quand on est comme moi un peu novice dans ce domaine).

 

J'ai l'impression que certain critique la contribution de Llamgui (à moins que je me trompe) mais au lieu de le critiquer, meme si vous trouvez sa méthode inadaptée, remerciez-le d'apporter une contribution de plus au site.

 

Il est toujours utile de savoir qu'il y a plusieurs manières de faire un truc et de savoir comment. On est pas tous pareil !

 

Sinon, merci Llamgui de ta patience (entre parentheses).

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.