ワイルドカードを使用してブロックするメールアドレスを追加できる方法があればよいのですが。例えば、スパマーが Gmail のドットトリックを使う場合です。
例:
example@gmail.com
example+random12345@gmail.com
ex.a.mple+random12345@gmail.com
e.xamp.le@gmail.com
これらはすべて同じメールアドレスであり、スパマーは 1 つの Gmail アドレスを使って簡単に無制限のアカウントを作成できます。
以下のようにワイルドカード付きのアドレスをブロックできれば、良い解決策になると思います:
e*x*a*m*p*l*e*@gmail.com
Gmail アドレスのすべてのバリエーションを使った登録をブロックする必要はないと考えていますが、Gmail アドレスがブロックされた場合、そのすべてのバリエーションも自動的にブロックされるか、または手動でワイルドカード付きの Gmail アドレスをメールのブラックリストに追加できることが有用だと考えます。
「いいね!」 1
実際に具体的な問題が発生しているのでしょうか、それとも単なる仮定でしょうか?具体的な問題であれば、スパマーの具体的なメールアドレスを共有してもらえますか?
「いいね!」 4
はい、実際に私が直面している問題です。スパマーが、ドット法と十分な数のIPプールを用いて、1つのGmailアカウントから定期的に数万のアカウントを作成しています。
現在確認されているのはドット法のみで、プラス記号(+)を使う方法も機能するかどうかは100%確信がありません。最後に確認した時点では、プラス記号を含むメールアドレスでの登録が可能でしたので、その手法も機能するはずです。
例えば、このメールアドレス(実際のものではありません):
constantinehamilton1337x@gmail.com
ドット法のみで16,777,216個のユニークなメールアドレスを作成でき、プラス記号法を使えば事実上無制限に作成可能です。そのため、スパマーにとって非常に効率的です。ドメインのブラックリスト化は、Gmailであるため現実的ではありません。
ジェネレーターはこちらで確認できます(8,000以上の組み合わせでは動作が重くなります):Redirecting...
もしこれが Discourse によって自動的に処理されるのではなく、ワイルドカードのようなアプローチで実際に実装されるのであれば、e*x*a*m*p*l*e*@gmail.com よりもはるかに具体的な設定にする必要があるでしょう。そのような方法で行うと、特にスパマーのメールアドレスが比較的短い場合、無実の人々がブロックされてしまう可能性があります。. と + に特化して検索する方が、はるかに安全だと思われます。
「いいね!」 2
あなたの levenshtein_distance_spammer_emails 設定は、デフォルトの 2 にしていますか、それとも最大値の 3 にしていますか?
「いいね!」 2
この設定 levenshtein_distance_spammer_emails について教えていただきありがとうございます。以前見たことも変更したこともありませんが、デフォルト値の 2 に設定されています。
「いいね!」 3
pfaffman
(Jay Pfaffman)
7
数学の計算が理解できません。文字間にドットを1つしか追加できないため、N文字のアドレスは2*N個のアドレスしか扱えません。ドットを削除したアドレスを保存・比較し、+アドレスを禁止するプラグインを導入できるかもしれません。
「いいね!」 2
@pfaffman - 私は Redirecting... で示された数値に基づいて話していました。これは、2 文字を超える各追加文字に対してアドレスの数が 2 倍になるというものです(ただし、約 8k で停止します)。
2*n(あなたが意味していることが 26 文字のアドレスが 52 通りの組み合わせを持つという意味だと理解すれば)は低すぎると思います。アドレス全体に複数のドットを追加できるためです。
例えば:
constantinehamilton1337x@gmail.com
con.stantinehamilton1337.x@gmail.com
co.nst.antineh.amilton1.3.37x@gmail.com
constantineh.a.m.ilto.n13.37x@gmail.com
c.o.nsta.ntinehamil.ton1337x@gmail.com
とにかく、正確な数値が何であれ、それは非常に多いです。はい、あなたの提案した解決策は理にかなっています!
「いいね!」 1
pfaffman
(Jay Pfaffman)
9
ええ、計算を間違えていました。ドットを1つだけ許可していました。かつてはその計算ができたはずなんですが、今朝はできませんでした。
でも、ショットを保存するプラグインと、アドレスを無料版として追加アドレスに保存する機能があれば、あなたが求めていることができますし、それほど難しくないでしょう。
「いいね!」 3
sam
(Sam Saffron)
10
メモ… sam.sam@gmail.com をブロックすると、sam.sam+1@gmail.com なども自動的にブロックされるようになりました。
「いいね!」 10
この機能は非常にうまく機能しています @sam 
あなたが以前実装した この方法 は、追加のスパム対策機能として非常に有用だと思います。それは、有効化されていた短い期間(デフォルトではオフ)に驚くほどよく機能しました。
そうでなければ、スパマーはモデレーターや管理者が気づく前に、1 つの Gmail アドレスを使って大量のアカウントを作成できてしまいます。例えば、アカウントを作成してもすぐに投稿しないような場合です。
管理者やモデレーターは、個別に各アカウントを見つけ、開いて禁止または削除する必要があります。これは非常に手間がかかります。特に、1 人のスパマーが 1 つの Gmail アドレスから何百、あるいは何千ものアカウントを作成して禁止される前に、大量のアカウントを保有している場合です。また、j.ohan.2.1@gmail や jo.ha.n21@gmail のように、メールアドレスを検索することも困難です。
これらのアカウントが手動で特定されなければ、スパマーは 1 つの Gmail アドレスを取得するだけで、大量のアカウントプールを持って「どこだどこだ」ゲームを続けることができます。
@sam さらなるフィールドテストの後、フォローアップです。以前の実装(元に戻されたもの)は、意欲的なスパマーに対しては明らかにはるかに効果的だと考えています。現在も、これらの Gmail の変形テクニックを使った登録が相当数寄せられています。
現在の保護策が実装されたことには非常に感謝しています。これは非常に効果的です。しかし、同じメールアドレスを使って特定のアカウントが特定され、手動で禁止されるまで無制限にアカウントを作成できるようにしている点は、少し穴があると感じています。これはモデレーターにとって負担が大きいです(デフォルトではアカウントのメールアドレスは表示されず、有効化しないと見られないと思います)。特に、複数のアカウントを一括で削除するツールがない場合(例:アカウント検索リストから複数のアカウントにチェックボックスをつけて、まとめて禁止・削除する機能など)、なおさらです。つまり、モデレーターは各アカウントに個別に移動して、削除や禁止を行わなければなりません。これは、変形されたメールアドレスを持つアカウントを検索する際に特に困難です。
以前の実装はオプション(デフォルトではオフ)であり、すでに開発され、意図通りに機能していたにもかかわらず、削除されました。意欲的なスパマーに対する追加のスパム対策として利用したいコミュニティのために、それがもう利用できないのは残念に思えます。
そのため、特定の文字を(オプションで)メールから完全に禁止する必要があると述べたのです。具体的には、Email address - Wikipedia サブアドレッシングを可能にする文字、例えばプラス記号、ピリオド、ハイフンなどです。正規表現を使えば、サービスごとにこれをブロックすることも可能です。例えば、「@gmail.com で終わるプラス記号を含むメールは許可しない」といった具合です。cc @sam
「いいね!」 1
sam
(Sam Saffron)
14
以前の実装では、アカウントあたり1つの正規形式に制限しつつも +addressing を許可していました(これはおそらくより安全だと考えられます)。
つまり、sam+discourse-meta@gmail.com として登録することができ、これは内部的な Gmail ルールを設定する際に便利です。ただし、その場合、sam@gmail.com や sam+1@gmail.com からの新規アカウント登録は禁止されます。
ホワイトリストの追加には反対しませんが、Gmail のケースにおいて正規形式の強制は非常に便利であり、デフォルトとしても問題ないと思います。
「いいね!」 1
ここでの主目的はセキュリティではありません。問題の規模が甚大なため、対象のサイトにはより過激な対策が必要です。「独自のメール保護用正規表現を追加する」というオプション機能である限り、必要なサイトにとっては「完全ロックダウンモード」をオプトインすることで、私には完全に安全に思えます。
「いいね!」 1
sam
(Sam Saffron)
16
現在、ブロックされたドメイン をサポートしています。
ブロックされたパターン を追加することも可能でしょう。
ただし、エスケープが必要になるため、正規表現を正しく設定するのはやや面倒です。このようなオプションを提供することへの懸念は、ユーザーが意図した通りに正規表現を正しく設定できる可能性が低い点にあります。ドットやプラス記号のエスケープを忘れないようにする必要があります。
.*\\+.*@gmail\\.com
あるいは、正規表現を使わずに * や ? を単純に展開する簡易パターンを採用することも考えられます。
*+*@gmail.com
「いいね!」 5
遅れての返信、申し訳ありません!
もし以前の実装がオプションとして再追加されれば、Gmail に関する問題は完全に解決されると考えます。少なくとも私の場合はそうです。私の意見ではこれは完璧であり、スパマーに対してリソースコストを十分に課すことで、対策を管理可能にします。これは、24 時間体制で高強度のモデレーションを必要とするかどうかの違いそのものです。
私は、類似のドメインを許可し、許可されたメールドメインリストを利用するいくつかのドメインをブロックしました。問題は、アカウントが禁止・ブロックされる(これにより、その Gmail アドレスの置換形からの新規アカウント作成がブロックされますが、既存のアカウントはそのまま残ります)前に、人々が多くのアカウントを作成できてしまうことです。これはモデレーションにとって大きな負担となり、その後、個々のアカウントを片付けるのは退屈な作業です。
例えば、同じ Gmail アドレスを使って作成された、1 アカウント 1 投稿の約 200 件の返信があるスレッドがありました。このようなケースは多くあります。これらはアカウントを発見しやすい例ですが、元の Gmail の置換形を通じて検索するのは代替手段として非常に困難です。一部のスパマーは、わずかな数の Gmail アドレスを使って大量のアカウントを farming し、数ヶ月間投稿しないこともあります。
正規表現によるブロックを解決策とした場合、+ 記号のブロックは比較的無害ですが、ドット(.)のブロックは john.smith@gmail.com のような正当なメールの多くをブロックしてしまう可能性があります。ドットが 2 つ以上含まれるアドレスをブロックすれば、付随する被害は最小限に抑えられるでしょう。ただし、それでも Gmail アドレスのいくつかの置換形は許可されてしまいますが、ドットが 2 つ以上ある場合よりははるかに少なくなります。
私の考えでは、以前の実装が理想的であり、オプションの保護機能として実装することも不合理ではありません。主要なソーシャルサイトは、スパマーによる悪用が激しいため、複数の Gmail 置換形でのサインアップを許可していません。
ありがとうございます 
「いいね!」 1
@sam 私は、サイトが必要な場合にこのオプションのレベルのメール正規表現ロックダウンを実装できるようにすべきだと強く感じています。そうしなければ、Discourse の核となる原則の一つである「デフォルトで安全である」という点に反することになります。
「いいね!」 1
sam
(Sam Saffron)
19
次のリリースまでにこれを完了できますが、私は依然として元の実装を支持しています。正規化はサイト運営者にとって最も親切な解決策です。チェックボックスをオンにするだけで、問題は解決します。一方、正規表現を使うには正規表現を学ぶ必要があり(そこで5時間は消えます)、結果としてスパムアカウントが抜け漏れるような修正になったり、ユーザーに不親切な仕様(ドットやプラス記号が使えないなど)になったり、あるいは妥協案に終わったりします。
とはいえ、確かに次のリリースに正規表現サポートを追加することは可能です。
「いいね!」 1
まあ、実は簡単で、「プラス記号やピリオドを含むメールアドレスは禁止」というルールにするだけなんです。確かにかなり制限が厳しく、デフォルトで有効にするのは当然望ましくありません。でも、これは「bamwar」問題と同じで、必ず悪意あるユーザーが存在する以上、核兵器の発射ボタンを用意せざるを得ないのです。たとえ使いたくないとしてもね。
核戦争と同じです。一度核兵器が議題に上がると、「ユーザーフレンドリー」な選択肢はもはや現実的ではなくなり、ほとんどの場合、その局面に追い込まれないことを願うしかありません。