Pas de HTML dans la notice globale

Ce sujet a été résolu par l’équipe Discourse. Je laisse le sujet original en ligne à des fins d’archivage, mais le problème a été résolu par @Roman et l’équipe.


J’ai récemment reconstruit Discourse pour mettre à jour mes paramètres SMTP, et les balises HTML de mon message d’annonce global sont maintenant affichées telles quelles.

Voici à quoi cela ressemble avec les balises :

Bienvenue sur les NOUVEAUX forums de sport automobile Real Racin' USA !


Vos prières et vos vœux ont été exaucés.

Nous avons préparé pour vous une expérience de forum plus rapide, plus récente et plus facile à utiliser, en important tout depuis l'ancien forum vers celui-ci. Tous vos sujets, messages et profils d'utilisateurs sont restés intacts, exactement comme vous les aviez laissés !

Veuillez lire notre message « Je veux récupérer mon compte ! » pour obtenir des instructions sur la façon de réaccéder à votre compte.

Maintenant que la poussière s'est en grande partie déposée, nous continuons à vérifier ce forum pour nous assurer qu'il fonctionne correctement pour tous.

Pour toutes les mises à jour concernant le forum et pour obtenir de l'aide, visitez la page Facebook de Sunshine State Racing.

Mais après la reconstruction, j’obtiens ceci :

1 « J'aime »

J’ai repéré des modifications dans les annonces globales lors d’un commit récent qui désactivent cette fonctionnalité.

3 « J'aime »

Alors, y a-t-il un moyen d’inclure des liens dans les annonces globales maintenant ?

2 « J'aime »

Mon autre option était de publier un message et de l’épingler en tant que sujet bannière.

2 « J'aime »

Oui, nous n’autorisons plus que le paramètre de site « Avis global » contienne du HTML ; seul le texte brut est accepté. Nous avons choisi de le traiter comme n’importe quelle autre saisie utilisateur et de le nettoyer.

Comme mentionné ci-dessus, la solution de contournement consiste à utiliser un sujet de bannière à la place.

6 « J'aime »

C’est dommage, c’était vraiment utile.

Merci d’avoir clarifié.

3 « J'aime »

Hm, juste mon avis, mais les deux ont des objectifs très différents.

La bannière globale existe pour une raison précise, par exemple lorsque je souhaite informer le forum d’un sujet important. Si un utilisateur a fermé la bannière, ce paramètre reste en mémoire et il ne pourra pas voir une mise à jour qui serait autrement visible via un avis global.

2 « J'aime »

Oui, nous avons décidé de conserver ce paramètre car nous savons à quel point une bannière non fermable est utile en cas d’urgence, mais permettre l’insertion de HTML non filtré pourrait être potentiellement dangereux.

3 « J'aime »

Si quelqu’un a les permissions pour définir une annonce globale, alors il est également autorisé à créer un composant de thème ? Il n’y a donc pas de vecteur d’attaque supplémentaire ici ?

3 « J'aime »

Pour être clair, nous ne considérons pas cela comme un problème de sécurité, car seuls les administrateurs peuvent modifier ce paramètre. Cela s’inscrit dans une démarche continue visant à interdire l’HTML dans les paramètres du site et à utiliser d’autres outils conçus pour soutenir cet objectif.

5 « J'aime »

Permettez-moi d’exposer un argument en faveur de l’autorisation du HTML. Je travaille avec un client qui lance un forum pour les investisseurs (la version bêta fermée a d’ailleurs commencé hier). Son équipe juridique exige un avertissement. Celui-ci doit :

  • Être affiché de manière bien visible sur chaque page du forum.
  • Ne pas pouvoir être supprimé.

Autrement dit, un avis global.[1]

Pour un exemple (ce n’est pas le site sur lequel je travaille, mais il évolue dans le même domaine), consultez l’avertissement sur Freetrade. Il est important de noter que l’équipe juridique ne se soucie pas de savoir si l’avis inclut du HTML. Elle veut simplement s’assurer qu’il est présent et que les utilisateurs ne pourront pas prétendre ne pas l’avoir vu.

Malheureusement, cet avis est quelque peu disgracieux car il s’agit d’un gros bloc de texte. Heureusement, l’équipe juridique accepte une police plus petite et l’utilisation d’un lien vers l’avertissement complet. L’équipe a soumis un texte à l’équipe juridique la semaine dernière, incluant un lien vers l’avertissement. Cette semaine, nous avons découvert que le HTML n’est plus autorisé dans un avis global. Quelle surprise !

Par ailleurs, si nous utilisions cette fonctionnalité à sa vocation initiale (« AVIS GLOBAL URGENT, D’URGENCE, non supprimable à tous les visiteurs »), ne serait-il pas pratique de pouvoir lier vers une page de statut ou tout autre endroit pour en savoir plus ?

Ce n’est vraiment pas « n’importe quelle autre saisie utilisateur », n’est-ce pas ? Il s’agit d’un paramètre du site que seule une poignée de personnes peut modifier. Du point de vue des propriétaires du site, ce n’est pas une saisie utilisateur, mais une partie de l’interface fournie aux utilisateurs.[2]

Existe-t-il une explication du raisonnement quelque part ? Si vous travaillez sur un autre outil pour prendre en charge les bannières globales non supprimables autorisant des liens,[3] il serait utile de savoir quand il sera prêt. Je préférerais éviter de devoir mettre en place une personnalisation si possible.

Je m’excuse si je semble un peu grognon. Nous ne savions pas que ce changement arrivait et cela nous place dans une situation délicate. La communauté devait être ouverte à un public plus large la semaine prochaine, et ce changement vient tout perturber.



  1. Je vois l’argument selon lequel il s’agit d’un mauvais usage de la fonctionnalité. Mais si nous devions développer cette fonctionnalité nous-mêmes, elle fonctionnerait exactement comme un avis global. :man_shrugging: ↩︎

  2. Je comprends que, du point de vue de Discourse, les administrateurs sont des utilisateurs. Cela fait juste un peu bizarre de le voir ainsi dans ce cas précis. ↩︎

  3. Et aussi le style, mais c’est secondaire. ↩︎

2 « J'aime »

Ma justification initiale pour cela vise à renforcer la protection des entrées de la base de données, principalement en raison de problèmes d’encodage liés à un ancien forum que j’ai utilisé.

Les emojis sur ce forum étaient convertis au format &# et, lorsqu’ils étaient cités, provoquaient des erreurs « Séquence d’octets invalide en utf-8 » lors de la conversion, le forum affichant alors les emojis sous forme de symboles �.

J’ai pensé qu’un phénomène similaire pourrait se produire avec les balises HTML lors d’une future mise à jour, entraînant des problèmes de base de données et rendant toutes les communautés inopérantes.

Une personne connaissant mieux le code pourrait probablement rassurer en affirmant que cela n’arrivera probablement pas, grâce aux multiples vérifications que chaque correctif subit avant d’être intégré dans la branche principale pour le téléchargement ou la mise à jour. L’équipe Discourse s’efforce de maintenir le système comme une solution autonome, sans problème, en un clic pour tous ceux qui souhaitent créer une communauté en ligne, et ils s’en sont très bien acquittés !

Néanmoins, ma solution simple a suffi pour le moment, en attendant qu’une nouvelle solution soit publiée. C’est aussi agréable d’avoir moins d’encombrement à l’écran, car vous pouvez fermer les sujets bannière.

1 « J'aime »

Veuillez nous excuser pour la gêne occasionnée. Pour créer une bannière non dismissible, veuillez consulter ce composant de thème :

Il est bien plus puissant et personnalisable que l’avis global.

2 « J'aime »

Nous avons réactivé le support HTML dans le paramètre des annonces globales. Nous cherchons une meilleure façon de garantir une transition en douceur.

7 « J'aime »

Dans la description située sous le champ « Avis global », vous pourriez indiquer :

« Le support HTML sera supprimé dans une version future »

De plus, même lorsque cette fonctionnalité a été désactivée, la description indiquait toujours « HTML autorisé ».

2 « J'aime »

@Roman_Rizzi Quand sortira la version avec l’avis global ?

2 « J'aime »

Nous en avons discuté et nous avons décidé de maintenir le support HTML pour le paramètre d’annonce globale, il ne sera donc pas supprimé de sitôt.

3 « J'aime »

Alors, qu’est-ce qui me manque ? Pourquoi cela ne fonctionne-t-il pas sur notre forum ?

2 « J'aime »

Mettez à niveau votre Discourse. Il a été réactivé il y a quelques jours, donc effectuez une mise à niveau et le problème devrait être résolu.

1 « J'aime »

Merci pour cette réponse ultra-rapide ! Je viens de faire la mise à niveau, mais ça ne fonctionne toujours pas (le HTML s’affiche).

2 « J'aime »