重複IPアドレスの報告を追加

Is it possible for a report to be added under DASHBOARD > REPORTS, to list accounts that share the same IP address?

Or, if the processing is too heavy to do large forums, the report could potentially be capped eg: checks all new accounts from the last 3mths.

Discourse identifies such duplicates when looking up a specific user, but it would be useful to see this information across all users. Currently I have no tool to identify this, other than checking individual users one at a time.

I realise that a shared IP doesn’t always mean it’s the same person and that some IP addresses are shared by multiple users on a network, but it would still be very useful.

Possible?

「いいね!」 5

You can do a query with data explorer plugin to find users with same ip.

There may be an example in What cool data explorer queries have you come up with?.

「いいね!」 5

Thanks Jay. We don’t have the data explorer plugin on our hosted instance.

Is there any chance of this being added to the standard Discourse Dashboard reports, without needing the data explorer plugin?

This feature would be useful for most discourse forum staff, as users with multiple accounts is a pretty common forum experience. For me, it would be more useful on a regular basis than most of the existing Dashboard reports.

Ask yourself, what is the maximum number of different IP addresses?

I think it would be relatively inexpensive to have count(ips) vs. count(distinct(ips)) to give a general idea of how many accounts have used IPs used by other accounts.

More expensive would be an “on demand” search for particular IPs

Depending on how many accounts / IPs a forum has, finding all non-distinct IPs could be extremely expensive. If my math is close, the formula for finding out how many checks would be needed would be something like
(n*(n+1)/2)-n
where n is the total number of IPs

* eg. for 100, that’s 4950, for 1000 that’s 499500. You get my point.

「いいね!」 3

システムリソースの面でこれが何を伴うかはわかりませんが、登録時または最終アクセスIPを通じて、同じIPアドレスに複数のメンバーが関連付けられている場合に、モデレーターへのメッセージ通知や、そのようなIPアドレスのリストを取得できるレポート機能があると非常に役立ちます。

現在、重複IP(必ずしも1人のメンバーが複数のアカウントを持っていることを意味するわけではありません)を発見できる唯一の方法は、手動での確認です。つまり、誰かが問題を引き起こした場合にしか気づけません。

そして、ごく稀ですが、意欲的なトロールにとって繰り返される可能性のある事態として、人が一連のアカウントを作成し、投稿できるように「レベルを上げる」が、それ以外は放置しておくことが起こり得ます。VPNを使ってIPを分離し続けるほどに、この作業を十分な規律を持って行うのは非常に困難で手間がかかります。そのため、信頼レベルのアップグレードプロセスのどこかで、トロールは通常、どこかでミスをして「実際の」IPでログインしてしまいます。もし、このようなことが起きた際にモデレーターに警告が届くか、またはモデレーターグループが定期的に参照できるレポートにこの情報が表示されるようになれば、複数の休眠中のダミーアカウントを使って大規模な混乱を引き起こそうとするトロールを未然に防ぐのに大きく役立ちます。

しかし、もしかするとこれはシステムリソースを必要としすぎるのでしょうか?

「いいね!」 2

アプリを構築する方法は一つではありませんが、私の経験をお話しします。

  • Discourse フォーラムに関連付けられた IP アドレスを含むデータセット(約 25 万アカウント)を取得しました。
  • CSV を解析して MySQL データベース(注:PostgreSQL ではなく)にデータを挿入する PHP コード(注:Ruby ではなく)を作成しました。
  • 廃止された MaxMind のジオロケーションデータベースをダウンロードしました。
  • INET 配列と数値の変換を行うコードを作成し、値をデータベースに挿入しました。
  • 個々の Discourse の IP を対応する MaxMind のロケーションと照合しました(例:1 万アカウント程度という限定的な数でも、このステップの実行には 2 時間以上かかることがありました。これは高コストな範囲選択です)。

「ベース」データが揃ったら、前回の更新以降に新しく追加されたデータのみを更新すればよくなりました。[週次] の更新を実行しても、数分を超えることは決してありませんでした。

必要なデータが揃えば、ロケーション別 にクエリを実行しても遅くはありませんでした。

「いいね!」 1

ありがとうございます。これに気づかず、申し訳ありませんでした。また、これまで感謝を伝えられなかったことにもお詫び申し上げます。この件を管理者に伝え、対応する価値があるかどうか話し合います。

会員は数千人おり、定期的に追加アカウントを作成する人がいます。悪意がある場合もあれば、悪意が明らかなくない場合もあります。大きな問題になることはめったにありません。

年数回、誰かをBANし、その人が追加アカウントを作って迷惑をかけることがあります。これまで対応に手間取りましたが、それほど大きな問題ではありませんでした。これまで、相手は私たちの時間を奪ってまでそのふざけた行為を続ける意欲を失い、姿を消すか、あるいは新しいアカウントを作って静かに過ごし、ルールを守り、問題を起こさなくなっています。その場合、それは実際には問題ではありません。

「いいね!」 1