Jump to content
Invision Board France
Sign in to follow this  
LLaumgui

Des images pour illustrer mes news

Recommended Posts

LLaumgui

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.

Share this post


Link to post
Share on other sites
dash

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.

 

:)

Share this post


Link to post
Share on other sites
LLaumgui

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.

Edited by LLaumgui

Share this post


Link to post
Share on other sites
dash
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. :)

Share this post


Link to post
Share on other sites
Prolag
Autre petit test qui peut-etre utile : verifier si l'image indiquee existe bien.

+10

fileexist(...)

Share this post


Link to post
Share on other sites
LLaumgui

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.

Share this post


Link to post
Share on other sites
LLaumgui
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 ?.

Edited by LLaumgui

Share this post


Link to post
Share on other sites
pepito

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!

Share this post


Link to post
Share on other sites
GreG_WMN
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

Share this post


Link to post
Share on other sites
Equipe IBF
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... :)

Edited by Darken

Share this post


Link to post
Share on other sites
LLaumgui

@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 :).

Share this post


Link to post
Share on other sites
bibou04

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).

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.