通过电子邮件创建新主题的能力对我们的社区至关重要,因为我们正在说服用户从他们熟悉的基于邮件列表的工作流程迁移过来。
为了方便操作,我们需要让“接收邮件地址”易于获取。此外,用户的电子邮件地址本身并非机密。许多人多年来一直使用他们在我们的账户系统中配置的地址。通常来说,能够印在名片上的信息,实际上并不算秘密。
因此,垃圾邮件发送者或其他恶意行为者可以轻易地冒充身份,利用公开信息发起讨论串。
为防止这种情况,我希望 Discourse 在创建新主题并发布消息之前,针对任何新主题的 incoming 邮件先发送一封挑战邮件。(当然,仅针对有效用户;无效用户将被直接丢弃。)当用户成功回复该挑战邮件(内容不限)后,帖子才会发布。
(可选地,挑战邮件还可以提供一个确认链接。)
这样可以确保无法仅通过伪造地址来创建新消息;攻击者还需要具备拦截 incoming 邮件的能力。而如果他们拥有这种能力,那将面临更严重的问题。