是否有办法完全阻止链接到特定域名?
用例如下:用户不断地在任何主题下回复指向他们网站的链接,这不一定不好或危险,但结果是所有的对话都感觉被劫持和垃圾信息化。在多次坚持与该用户沟通后,发布模式仍然持续。请注意,rel="nofollow" 似乎并不能阻止这种行为。
我正在考虑完全删除链接,甚至阻止包含该域名帖子的发布,这可能会激励用户为了对话本身而贡献,而不是一直发布外部链接。
也许有其他非技术性的方法来解决这个问题,但我认为这可能是一个在论坛中普遍存在的问题。
是否有办法完全阻止链接到特定域名?
用例如下:用户不断地在任何主题下回复指向他们网站的链接,这不一定不好或危险,但结果是所有的对话都感觉被劫持和垃圾信息化。在多次坚持与该用户沟通后,发布模式仍然持续。请注意,rel="nofollow" 似乎并不能阻止这种行为。
我正在考虑完全删除链接,甚至阻止包含该域名帖子的发布,这可能会激励用户为了对话本身而贡献,而不是一直发布外部链接。
也许有其他非技术性的方法来解决这个问题,但我认为这可能是一个在论坛中普遍存在的问题。
一个快速的解决方案可能是将用户降级,使其根本无法发布任何链接。
您可以将链接本身添加到 /admin/customize/watched_words/action/block 列表中。
@Firepup650 的“已关注词语”建议在多人发布指向少量垃圾信息网站的链接时非常有用。这绝对是一个有用的工具。在这种情况下,你似乎有一个用户正在挑战社会可接受的界限。你可能还想考虑制定一个自我推广政策。这或许可以解决问题,而无需采取可能显得过于严厉的屏蔽措施。
阻止列表不可避免的问题是,屡犯者会找到绕过它的方法。一个制定良好的政策可以创造一种社区规范,将用户引导到更具成效的活动中。如果不行,屏蔽仍然是一个潜在的解决方案。 ![]()
您可以阻止该域名被监视,或者稍微娱乐一下,并将其替换为“Oops NoGo”之类的文字。
我也对短域名有同样的问题,例如,如果您想阻止“ent.com”,您还需要避免阻止“content.com”。
将 ent.com 设置为监视词不会触发 content.com。或者是我误解了你的意思?
另外,你可以使用正则表达式来微调监视词,以避免看到发布的网址。
那么,如果您输入“ent.com”,它是否会阻止所有“http(s)://ent.com/[url]”的变体?其中 url 是任意序列?
好的。我认为我需要使用正则表达式。
感谢您的回复。我记得尝试过各种方法来“监视”单词,但据我所知,链接不会被取消链接。有人能提供一个可行的示例吗?
一个非常基础的主题组件(由
提供),使用硬编码的域名列表:
<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>
只是为了让我的大脑理解一下。
这个脚本是否可以将指定的链接转换为不可点击的纯文本链接版本?
能否对其进行修改,将链接替换为“Forbidden”(禁止),也许链接到一个规则帖子,其中包含不允许的域名列表?
是的,两个问题的答案都是肯定的 ![]()