How to anonymise a single post?での議論の続きです。
今試してみたところ、ユーザーのために作成された匿名ユーザーは、cb426…で始まるランダムな英数字の20文字のセットでした。私は「anonymous99」または「anonymous100」のような形式を期待していました。
これはバグですか、それとも私が間違った方法で行っていますか?
How to anonymise a single post?での議論の続きです。
今試してみたところ、ユーザーのために作成された匿名ユーザーは、cb426…で始まるランダムな英数字の20文字のセットでした。私は「anonymous99」または「anonymous100」のような形式を期待していました。
これはバグですか、それとも私が間違った方法で行っていますか?
テストユーザーになりすましてから匿名モードに入ったところ、生成された名前が anonymousNN 形式でした。
これは複数のアカウントで再現可能でしょうか?
はい、別のユーザーで試した場合も同じです(ランダムなユーザー名が異なるだけですが)。
2.9.0.beta10 (0c38757250) を使用しています。
TL1+ で匿名モードが有効になっているかどうかわかりませんでした。TL0 ユーザーになりすまそう/匿名化しようとしていました。後で確認します。
allow anonymous posting が設定されており、anonymous posting min trust level が 0 で、新規ユーザーを作成し、そのユーザーとしてログインし(なりすましではなく)、匿名モードに入り、作成されたユーザー名は…
したがって、なりすまし時だけでなく、独自に匿名化されているようです。このトピックのタイトルを「なりすましユーザーが「anonymous」で始まらない場合に作成される匿名ユーザー」から、より正確なものに変更します。
追伸:まだ 2.9.0.beta10 です(0c38757250)
匿名ユーザーは多いですか?
We have really weird issue, up until user 100 the username was in this format anonymousxxx e.g. anonymous10, anonymous55, anonymous100 However as soon as we reached over number 100 anonymous user accounts, they are now in this format: 9ab9441ad3316f5d2d35cd4807317cc 01c3b651778b7871a7640511daa8eb8
これは当時修正されたと思いますが、リグレッションがあったのでしょうか?
1ダース強、それにこの2週間ほどで20文字のランダムユーザーが4人です。
その人物は、次の匿名名が「anonymous20」(実際の番号は覚えていません)になるところを、「Anonymous20」という実際のユーザー名を作成していました。
(その後、私はその人物の名前を変更し、「anonymous」をユーザー名に使用できない単語のリストに追加しました。)
それは関連性があるでしょうか?
(その後、名前を変更し、「匿名」をユーザー名に使用できない単語のリストに追加しました。)
これは有望ですね。テストサイトで確認してみます。![]()
どうも。確認したところ、予約済みユーザー名にanonymousとanonymous*を追加していました。
これら2つの追加を削除したところ、すべて正常に動作するようになりました。古いトピックを教えていただき、このことを思いつくことができました。ありがとうございます。
それでも、ユーザーが「anonymous」という単語を含むアカウントを作成できないようにしつつ、匿名モードが正常に機能するようにしたいです。これはまだバグだと思います。
犯人は anonymous* です。
user_name_suggester は、予約済み名前をチェックしてから割り当てるので、それを追加すると問題が発生します。![]()
- # frozen_string_literal: true
- require 'user_name_suggester'
- RSpec.describe UserNameSuggester do
- describe '.suggest' do
- before do
- SiteSetting.min_username_length = 3
- SiteSetting.max_username_length = 15
- SiteSetting.reserved_usernames = ''
- end
- it "keeps adding numbers to the username" do
- Fabricate(:user, username: 'sam')
- Fabricate(:user, username: 'sAm1')
- Fabricate(:user, username: 'sam2')
- Fabricate(:user, username: 'sam4')
- expect(UserNameSuggester.suggest('saM')).to eq('saM3')
- end
明確にしていただきありがとうございます。
おそらく、Discourse が匿名ユーザーを作成する際に、「anonymous」という単語の禁止を無視して reserved usernames をチェックする方が良いでしょう。
ユーザー名で「Anonymous」という単語が使用されるのを防ぎたいのですが、Discourse の匿名モードによって作成された場合を除きます。
これは、上記の(つまり、人間が「Anonymous」を使用するのを防ぐと、Discourse の匿名モードもそれを使用できなくなる)問題のために不可能でした。
しかし、それ以降変更されましたか?