在reserved_usernames中添加'anonymous*',阻止在Anonymous模式下创建'AnonymousXX'名称结构

继续讨论 如何匿名化单个帖子?

我刚才试了一下,为该用户创建的匿名用户是 20 个字符的、看起来随机的字母数字组合,开头是 cb426… 我本以为它会是“anonymous99”或“anonymous100”的格式。

这是个 bug 还是我做错了什么?

2 个赞

我已经模拟了一个测试用户,然后进入了匿名模式,生成的名称是 anonymousNN 风格的。

您能否在多个账户上复制此行为?

1 个赞

是的,对于我尝试过的另一个用户来说,情况也是一样的(尽管用户名随机不同)。

我正在使用 2.9.0.beta10 (0c38757250)。

2 个赞

我想知道我是否为 TL1+ 启用了匿名模式,并且我试图冒充/匿名化一个 TL0 用户。我稍后会检查。

1 个赞

我已确保“允许匿名发帖”已启用,并且“匿名发帖最低信任级别”设置为 0,创建了一个全新用户,并以该用户身份登录(而非模拟登录),进入匿名模式,创建的用户名是……

30d844ebb6818fcb7eab

所以问题在于它会自动匿名,而不是仅在模拟登录时匿名。我将把此主题的标题从“模拟登录用户时创建的匿名用户不以‘anonymous’开头”更改为更准确的标题。

附注:仍然是 2.9.0.beta10 (0c38757250)

您有多少匿名用户?

我认为当时这个问题已经修复了,但可能出现了回归?

1 个赞

大约十几个,加上过去两周左右的四个这样的 20 个随机字符用户。

出现此问题的人创建了一个真实的用户名“Anonymous20”,而下一个匿名用户名应该是“anonymous20”(我不记得实际数字了)。

(然后我重命名了他,并将“anonymous”添加到了用户名中不能使用的单词列表中。)

这可能相关吗?

1 个赞

这听起来很有希望。我将在我的测试站点上检查一下。:+1:

1 个赞

干杯。查看后,我在“保留的用户名”中添加了“anonymous”和“anonymous*”……

我刚刚删除了这两个添加项,一切又正常工作了!感谢您指出我之前看过的帖子,这让我想到了这一点。

但仍然希望阻止用户创建包含“anonymous”一词的帐户,同时仍然让匿名模式正常工作。我想这仍然是一个错误。

1 个赞

罪魁祸首是 anonymous*

user_name_suggester 在分配名称之前会检查保留的名称,因此添加该名称将是导致问题的原因::+1:

1 个赞

感谢您的澄清。

也许 Discourse 在创建匿名用户时,检查 reserved usernames 但忽略对“anonymous”一词的禁止会更好。

1 个赞

我希望阻止在用户名中使用“Anonymous”一词,除非是由 Discourse 的匿名模式创建的。

由于上述问题(即阻止人类使用“Anonymous”也阻止了 Discourse 的匿名模式使用它),这原本是不可能的。

但从那以后,这种情况是否有所改变?