movonw
(Marcin Ossowski von Wendorff)
22
コードを確認したところ、以下のようになっているようです。
authserv_id が有効な場合
Email::AuthenticationResults は、fail または pass の評決を割り当て、それが enqueue または accept アクションの結果となります。
enqueue アクションを持つ投稿は、レビュー/承認のためにマークされます(lib/new_post_manager.rb - self.post_needs_approval?)。
私の推論は正しいでしょうか?
これは、なりすましの試みはおそらくレビューに回されることを意味しますか?
sam
(Sam Saffron)
23
ある程度は。DMARCが失敗した場合、承認キューに送信されますが、完全に存在しない場合はそのまま通過します。
おそらく、前進するための1つの方法は、明示的なサイト設定を追加することです。「サイトオペレーターはリスクを受け入れる」といった内容で、有効にした場合はメールに基づいたマッピングを許可します。
「いいね!」 1
バグと意図された動作の議論について、少し混乱しています。私の解釈では、セキュリティ上の理由から、メールアドレスが既存のステージングされていないユーザーと一致する場合、メール経由で新しいトピックを作成することは許可されていません。これは、メールアドレスはなりすましが可能であり、したがってユーザーがなりすまされる可能性があるためです。
返信は、アドレスに返信キーが含まれているため、送信者が通知メールの受信者であり、したがって実際のユーザーである可能性が高いことを示しているため、おそらく許可されています。
意図された動作のその解釈が正しい場合、それは私が実際に経験していることと矛盾しています。私のユーザーがそのカテゴリで作成する権限を持っており、私が登録したメールアドレスからそのカテゴリの email_in アドレスにメールを送信した場合、メールアドレスは私のユーザーに一致し、私のユーザーによって新しいトピックが作成されます。
これは、私のユーザーが権限を持っているため、anonymous users with no accounts からのメールを受け入れるかどうかにかかわらず発生します。
現在の状況は次のようです。(anonymous users でメールが有効になっている場合)
- ユーザーがいないアドレスからのメール受信。ステージングユーザーが作成され、新しいトピックが作成されます。
- " " " ステージングユーザーがいるアドレス。ステージングユーザーが一致し、新しいトピックが作成されます。
- " " " 作成権限を持つ実際のユーザーがいるアドレス。実際のユーザーが一致し、新しいトピックが作成されます。
- " " " 作成権限を持たない実際のユーザーがいるアドレス。実際のユーザーが一致し、新しいトピックが拒否されます。
(注:4は現在テストしていません)anonymous users でメールが有効になっている場合、3と4は常に同じように動作すると予想されます。なりすましを防ぐために両方が拒否されるか、実際のユーザーは匿名ユーザーよりも少ない権限を持つべきではないという理由で両方が受け入れられるかどうかにかかわらず、それらは異なる結果を持つべきではありません。
sam
(Sam Saffron)
26
OPはすべて保護されたカテゴリ(たとえば、匿名のユーザーはまったく見ることができないカテゴリ)に関するものです。その場合、ステージングされたユーザーは今日確かに拒否されるのではないでしょうか?
downey
(Michael Downey)
27
はい、ステージング済み/非アクティブ化されたユーザーからのメールは、元のシナリオでは(受け入れられるべきでは?)受け入れられなかったはずです。
「いいね!」 1
インスタンスで動作を確認するためにテストしたばかりです(20コミット遅れています。変更に関連するものは何も見つかりません)。トラストレベル0のユーザーによるすべての投稿には承認が必要ですが、それがルートに影響するかどうかはわかりませんでした。そのため、それが干渉しないようにテスト手順を拡張しました。
これらの手順はすべて、管理者グループが表示/返信/作成権限を持ち、他の権限が設定されておらず、メール送信先アドレスが設定されており、「アカウントのない匿名ユーザーからのメールを受け入れる」が有効になっているカテゴリに関連しています。
「>」はアクションではなく効果を示します。
- アカウントのないアドレスからメールを送信する
-
ステージングされたユーザーが作成され、新しい投稿はレビューキューに入ります
- 投稿を承認する
-
新しいトピックがプライベートカテゴリに作成されます
- ステージングされたユーザーのトラストレベルを1に変更する
- 同じアドレスから別のメールを送信する
-
新しいトピックがプライベートカテゴリに作成されます
それが起こらなかった場合、「アカウントのない匿名ユーザーからのメールを受け入れる」設定は、everyone または trust_level_0 のいずれにも作成権限がないカテゴリでは意味がありません。
これは、OPの#4と同等であると信じています。OPは#3と#4の両方が新しいトピックにつながることが期待されると説明していますが、実際には#4のみがそうです。
(「現在の状況」の前に)以前の投稿(Category not accepting "anonymous email" from known users - #25 by Simon_Manning
しかし、その投稿で説明したように、一致したユーザーが作成権限を持っている場合、その保護は存在しません。
3.6.0.beta3-latest でもまだ問題があります。