Dopo che i domini sono stati inseriti nella blacklist, gli account che sono già stati approvati non vengono influenzati e possono continuare a essere utilizzati.
Vorrei chiedere se qualcuno conosce un metodo per eliminare in blocco (cancellare utente e tutto il relativo contenuto), sospendere o silenziare gli utenti in base al dominio dell’email di registrazione?
Nel mio caso, questo permetterebbe di eliminare o disabilitare centinaia di migliaia di account che hanno utilizzato la tecnica del dominio catch-all per registrarsi.
@codinghorror - Non si tratta di dati migrati. Non mi dispiace che sia doloroso e lento, poiché l’alternativa di permettere ai conti di rimanere potrebbe essere peggio Per quanto riguarda la quantità di contenuti, è un mix: alcuni non ne hanno affatto (di solito gli spammer intendono utilizzare questi account in seguito), alcuni ne hanno pochi, altri ne hanno un sacco.
Nella console di Rails, digita questi comandi e verifica se producono i risultati attesi (sostituisci il tuo pattern di indirizzo email con ‘@gmail.com’)
idlist = UserEmail.where("email like '%@gmail.com'").pluck(:user_id)
users = User.find(idlist)
poi (procedi con cautela)
system_user = Discourse.system_user
users.each do |user|
UserAnonymizer.new(user, system_user).make_anonymous
end
Non sono un esperto di prestazioni, quindi non so esattamente cosa accadrebbe se il numero di utenti fosse elevato.