非アクティブ/無効化されたユーザーが公開ユーザーページに表示されるまま

これはバグではないかと推測します。無効化されたユーザーを検索すると、検索結果に表示されないためです。

基本的には、このページ Discourse Meta にアクセスしてスクロールすると、無効化されたユーザーが表示されます。しかし、それらを検索しようとすると表示されません(投稿で @ メンションすることもできません)。

無効化されたユーザーや未アクティブなユーザーをすべての公開エリアから非表示にするのが最善でしょうか?(私はそう思います。)

ここで言う「未アクティブ/無効化されたメンバー」とは、メールアドレスの検証を行っていないユーザーや、再検証が必要なユーザーを指します。

「いいね!」 2

つまり、非アクティブなユーザーのことですね:

  • 彼らはアクティブではないため、メンションできません。
  • アクティブではないため、検索もできません。

これはバグかもしれませんが、そうは思いません:

  • 非アクティブなユーザーもユーザーテーブルには存在します。
  • 非アクティブなアカウントの表示を許可するサイト設定があります。デフォルトではオフですが、ここで有効になっている可能性があります:
    show inactive accounts
    meta.discourse.org がホスティング顧客のアカウントを表示しているため、非アクティブな顧客アカウントが表示されているのでしょうか?
  • 非アクティブなユーザーを削除する設定もあります。デフォルトは 2 年間です:
    clean up inactive users after days
「いいね!」 5

オフになっていますが、まだ表示されています。

おそらく、この動作は、管理者CPでは表示されるが、一般公開では表示されないという仕様なのでしょう。スパマーは、URLを名前やプロフィール情報として使用して(時にはポルノなど)そのようなアカウントを作成することがよくあります。

「いいね!」 1

inactive accounts を表示 サイト設定は、スタッフ以外のユーザーにのみ適用されます。この設定が無効になっている場合(デフォルトでは無効)、一般ユーザーは非アクティブ化されたユーザーのユーザーカードやプロフィールページを閲覧できなくなります。ただし、スタッフユーザーは引き続きユーザーカードとプロフィールページを閲覧できます。

inactive accounts を表示 サイト設定を無効にしているかどうかに関わらず、非アクティブ化されたユーザーは公開ユーザーディレクトリに表示されます。

「いいね!」 3

これは、新しい未検証メンバーと手動で非アクティブ化されたメンバーの両方に適用されるのでしょうか、Simon?

時々、スパマーやトロール、悪意のある行為者が、URL をユーザー名にしたり、他のプロフィール詳細に使用したりしてアカウントを作成します。

テーマコンポーネントなどで、ユーザーを公開ユーザーディレクトリから非表示にすることは簡単でしょうか?(まだ詳しく読んでいないので、自分でも確信が持てません。)CSS を確認しましたが、非アクティブなメンバーの行には特別なクラスが適用されていませんでした。これを追加することは可能でしょうか?

「いいね!」 1

これは正しくありません。無効化されたユーザーは即座にユーザーディレクトリから削除されるわけではありませんが、ユーザーディレクトリを更新するジョブが実行された際に削除されるはずです。このジョブは1日に1回実行されます。

ユーザーディレクトリからユーザーを追加・削除するコードは、ユーザーが「アクティブ」であることを確認します。つまり、一度サイトでアクティブだった非アクティブユーザーは、無効化から1日以内にユーザーディレクトリから削除されるはずです。サイト上で一度もアクティブになったことがないユーザー(例えば、サインアップ後にアクティベーションメールに応答しないユーザー)は、ユーザーディレクトリに表示されることはありません。

「ユーザーの承認が必要」サイトの設定を有効にしているサイトの場合、承認されていないユーザーはユーザーディレクトリに追加されません。

もしあなたのサイトでこれが当てはまらない場合は、お知らせください。

「いいね!」 4

あ、ありがとう、シモン。なるほどね。

私の開発環境ではうまくいかなかったみたいなんだ(サーバーは必要な時だけ起動させてたから)。でも、本番環境でテストを作成したから、その結果を報告するね :smiley:

「いいね!」 1

動作しました :smiley: 数日経つと、アカウントがリストから消えました。

手動で無効化されたユーザーについて簡単な質問があります。彼らは、標準的な未アクティブ化ユーザーと同じルールに従うのでしょうか?具体的には、アカウントを30日以内に再アクティブ化しない場合、データベースから削除されるのでしょうか(これは、新しいアカウントがメールアドレスを確認するために許される標準的な期間だと考えています)?

「いいね!」 2

いい質問ですね、@eviltrout だれかそのロジックを確認してもらえませんか?_新規登録_については確かにその通りです——7日以内にメールを有効化しない新規登録者を気にする必要はありませんから——ですが、手動での無効化については確信がありません。

「いいね!」 2

ロジックを確認したところ、以下の条件を満たす場合、clean_up_inactive_users_after_days 日後にユーザーが削除されます。

  • 一度も投稿を行ったことがない
  • 信頼レベルが TL0 である
  • スタッフではない

したがって、ご質問への回答は「はい」です。手動で無効化されたユーザーは削除されますが、投稿を行ったことがある場合や信頼レベルが上昇した場合は削除されません。

「いいね!」 5

ユーザーの無効化は具体的にどのような影響を与えるのでしょうか?ユーザーに無効化されたことを通知するのでしょうか?再有効化するまで利用を制限するのでしょうか?アカウントの再有効化は必須でしょうか?

「いいね!」 1

ユーザーが Discourse から送信されたアクティベーションメールに応答するまで、ログインを防止します。ユーザーがログインしようとすると、以下に似た通知が表示されます。

なお、ユーザーを無効化しても、アクティベーションメールが自動的に送信されるわけではありません。アクティベーションメールを送信するには、ユーザーの管理ページにある「アクティブ化」セクションに表示される「アクティベーションメールを送信」ボタンをクリックしてください。また、ユーザーがサイトにログインしようとした際に表示される通知から「アクティベーションメールを再送信」ボタンをクリックすることで、ユーザー自身がアクティベーションメールの送信をトリガーすることもできます。

「いいね!」 4