Liste de blocage des liens dans les domaines externes

Existe-t-il un moyen d’empêcher complètement la liaison d’un domaine spécifique ?

Le cas d’utilisation est le suivant : un utilisateur continue de répondre à n’importe quel sujet avec des liens vers son site Web, ce qui n’est pas nécessairement mauvais ni dangereux, mais le résultat est que toutes les conversations donnent l’impression d’être détournées et spammées. Après avoir insisté plusieurs fois auprès de cet utilisateur, le schéma de publication persiste. Notez que rel="nofollow" ne semble pas empêcher un tel comportement.

Je pense que supprimer complètement les liens, ou même empêcher la publication lorsque le domaine apparaît, pourrait inciter à contribuer à la conversation elle-même pour son propre intérêt plutôt que de cracher constamment des liens externes.

Peut-être existe-t-il d’autres moyens non techniques pour aborder ce problème, mais je peux le considérer comme un problème potentiellement récurrent sur les forums.

1 « J'aime »

Une solution rapide pourrait être de rétrograder l’utilisateur afin qu’il ne puisse plus publier de liens.

2 « J'aime »

Vous pourriez mettre le lien lui-même sur la liste /admin/customize/watched_words/action/block.

8 « J'aime »

La suggestion de mots surveillés de @Firepup650 est utile lorsqu’une variété de personnes publient des liens vers un petit nombre de sites de spam. C’est certainement un outil utile à avoir. Dans ce cas, il semble que vous ayez un utilisateur qui repousse les limites de ce qui est socialement acceptable. Vous pourriez également envisager une politique d’auto-promotion. Cela pourrait résoudre le problème sans recourir au blocage, qui pourrait sembler une mesure excessive.

Un problème inévitable avec les listes de blocage est que les contrevenants persistants trouvent des moyens de les contourner. Une politique bien formulée peut créer une norme communautaire qui canalise les utilisateurs vers une activité plus productive. Et sinon, le blocage reste une solution potentielle. :wink:

2 « J'aime »

En effet, bloquez le domaine dans les mots surveillés ou amusez-vous un peu. Et faites en sorte qu’il remplace l’URL par quelque chose comme « Oups Pas Aller »

J’avais la même question, par exemple, si vous voulez bloquer « ent.com », vous devez également éviter de bloquer « content.com ».

Avoir ent.com comme mot surveillé ne se déclenche pas avec content.com. Ou est-ce que je vous comprends mal ?
Vous pouvez également utiliser des expressions régulières pour affiner les mots surveillés afin de ne pas voir les URL publiées.

2 « J'aime »

Merci, donc si vous mettez « ent.com », cela bloquerait toutes les variations de « http(s)://ent.com/[url]? » où url est une séquence arbitraire ?

OK. Je pense que je dois utiliser des expressions régulières.

2 « J'aime »

Merci pour vos réponses. Je me souviens avoir essayé diverses méthodes pour désactiver les liens, mais les liens ne sont pas désactivés, à ma connaissance. Quelqu’un peut-il fournir un exemple fonctionnel ?

1 « J'aime »

Un composant de thème très basique (avec l’aimable autorisation de :robot:) utilisant une liste de domaines codée en dur :

<script type="text/discourse-plugin" version="0.8.25">
  api.decorateCookedElement((element) => {

    const domainsToUnlink = ["example.com", "specificdomain.com"];

    const links = element.querySelectorAll("a");

    links.forEach((link) => {
      const url = new URL(link.href);
      if (domainsToUnlink.includes(url.hostname)) {
        const textNode = document.createTextNode(link.textContent);
        link.replaceWith(textNode);
      }
    });
  }, { id: "unlink-specific-domains" });
</script>

2 « J'aime »

Juste pour que mon cerveau s’y mette.

Le script convertit un lien spécifié en une version texte brut non cliquable du lien ?

Pourrait-il être modifié pour remplacer un lien par, disons, « Interdit », peut-être comme lien vers un article de règles avec une liste de domaines non autorisés ?

1 « J'aime »

Oui pour les deux questions :slight_smile:

1 « J'aime »