Estamos mudando a configuração padrão para não fornecer essa informação. Em vez disso, o formulário de inscrição ficará assim, independentemente de o e-mail já estar registrado ou não:
Isso também afeta a redefinição de senha de maneiras semelhantes. Com a configuração desativada, o formulário fornece feedback imediato de que o e-mail está no sistema:
Um ator malicioso pode usar esse feedback para realizar uma enumeração de conta, informando se determinados usuários existem neste fórum, o que pode permitir que eles visem esses usuários com phishing.
Isso não afetará negativamente os usuários legítimos?
O caso aqui é se um usuário esqueceu que já tem uma conta e tenta se inscrever ou redefinir a senha usando o mesmo e-mail, o que deve ser uma ocorrência relativamente rara. Mas mesmo assim, eles simplesmente receberão um e-mail informando que já possuem uma conta.
A mudança, em última análise, não afeta a capacidade dos usuários legítimos de se inscreverem ou acessarem suas contas.
Mas eu prefiro o padrão antigo
Se você alterou essa configuração em algum momento, o novo padrão não substituirá a configuração personalizada. Se você quiser voltar ao padrão antigo, pode definir a configuração hide_email_address_taken de volta para false.
O que acontece no caso em que o usuário se lembra incorretamente do endereço de e-mail que usou para se inscrever?
Por exemplo, suponha que o usuário pense que se inscreveu como example@gmail.com, mas na verdade se inscreveu como example@yahoo.com. Eles tentarão redefinir a senha fornecendo o endereço de e-mail example@gmail.com, mas não há conta com esse endereço de e-mail.
Se uma conta corresponder a ted@discourse.org, você deverá receber um e-mail com instruções sobre como redefinir sua senha em breve.
Se o usuário simplesmente não receber um e-mail nesse caso, ele nunca saberá que forneceu o endereço de e-mail errado e não saberá quando/se tentar novamente com um endereço de e-mail diferente.
Em vez disso, a mensagem deve simplesmente dizer: “Você deverá receber um e-mail com instruções sobre como redefinir sua senha em breve”, e o usuário deverá receber um e-mail explicando “Alguém solicitou uma redefinição de senha para example@gmail.com, mas não há conta com esse endereço de e-mail.”
Isso não permitirá que ninguém execute a enumeração de contas, mas permitirá que o usuário saiba que enviou o endereço de e-mail errado e tente um diferente.
O problema com essa abordagem é que ela permite que atores maliciosos acionem o envio de e-mails para endereços que nunca interagiram com sua instância ou que não existem.
Isso pode levar a um número muito maior de e-mails enviados, potencialmente causando um alto custo monetário. Também pode levar a um grande aumento de usuários relatando spam e uma taxa de rejeição mais alta, potencialmente fazendo com que operadoras como o Gmail coloquem e-mails seus na lista negra.
Os atacantes já poderiam fazer isso simplesmente registrando novas contas. Se o atacante conhece 100.000 endereços de e-mail, ele pode registrar 100.000 contas, e o Discourse enviará a cada uma delas um e-mail de ativação, que cada usuário poderia denunciar como spam.
Enviar e-mails de “não é possível redefinir a senha, sua conta não existe” para endereços de e-mail de contas que não existem não torna esse ataque mais fácil ou mais difícil.
Este ataque não é um problema para a maioria dos sites, mas, se você estiver preocupado com ele, deve usar o plugin Discourse hCaptcha, que aumenta o custo para o atacante. (O Meta não o usa; a maioria dos fóruns hospedados pelo Discourse não o usa.)
Eu acho que se o Discourse aceitar minha sugestão de começar a enviar e-mails de “não é possível redefinir a senha, sua conta não existe” para endereços de e-mail de contas que não existem, faria sentido o plugin hCaptcha funcionar no formulário de redefinição de senha, bem como no formulário de inscrição. (Eu ainda não precisaria/usaria o hCaptcha.)
Sim, isso é válido. Eu só pensei no caso em si, sem considerar outras áreas onde isso já é possível e, como acontece, completamente impraticável de impedir.
Esqueci minha senha e quero acesso a este site. Digito o que acho que é o e-mail certo
Não recebo um link de redefinição de senha
Então, agora eu sei automaticamente uma de duas opções: Um, digitei o e-mail errado ou Dois, o site não está funcionando corretamente.
Minhas opções agora são: tentar outro e-mail ou tentar entrar em contato com alguém que administra o site.
Agora, com sua sugestão, recebo um e-mail informando que a conta não existe. Minhas opções são tentar outro e-mail ou entrar em contato com alguém que administra o site. É o mesmo ponto final com 0 passos extras