Informática Numaboa - Tutoriais e Programação
Registro de usuários em sites Joomla
Qui 22 Mai 2008 20:38 |
- Detalhes
- Categoria: Joomla
- Atualização: Segunda, 02 Julho 2012 19:40
- Autor: vovó Vicki
- Acessos: 7856
Há algum tempo atrás começou a aparecer uma nova praga nos sites movidos a Joomla: registros de usuários fictícios só para tentar abrir caminho para spammers. Curiosamente, ao tentar evitar que novos registros não fossem confirmados porque os registrantes forneciam endereços de email errados, acabei "matando dois coelhos com uma cajadada só". Veja como isto aconteceu.
Notei que uma porção de visitantes da Aldeia, quando tentavam se registrar, forneciam endereços de email com erros. Como aqui na Aldeia qualquer conta nova precisa ser ativada, cada novo pretendente deveria receber uma mensagem de email com um link de ativação... o que nem sempre acontecia porque o endereço não existia.
Resolvi dar um trato. Se a senha fornecida pelo usuário pedia uma confirmação, porque não fazer o mesmo com o endereço de email?
Criando a confirmação do endereço de email
A tela com o formulário para o registro é criada pelo script PHP localizado em /components/com_user/views/register/tmpl/default.php. A primeira coisa que fiz foi criar um novo campo de texto para pedir a repetição do endereço de email. Na linha 55 deste script incluí o seguinte:
Com esta modificação, o formulário de registro mostra este campo adicional e pede uma validação via "emailverify". Agora só é preciso comparar o endereço do email fornecido no campo original com o novo. Fácil, fácil! Logo no início do mesmo script PHP, encontramos o seguinte:
Pois bem, basta adicionar uma nova comparação:
Resultado final
Além de garantir o endereço de email fornecido (em termos, porque sempre existem os desconfiados que insistem em querer inventar), descobri uma vantagem adicional. Como disse no início, existe uma nova praga incomodando os joomleiros: registros fictícios. O site Stop Forum Spam é um dos que conheço que tenta desmascarar estes meliantes. Ao que tudo indica, usam "programinhas" metidos a besta que fazem registros em tudo o que é lugar tentando abrir caminho. Acontece que se baseiam no componente com_user padrão, onde a confirmação do endereço de email simplesmente não existe. Bingo! Os famigerados "programinhas" não funcionam e acabam dando sossego