Aldeia Numaboa

  • Increase font size
  • Default font size
  • Decrease font size
Home Informática Tutoriais e Programação Joomla Registro de usuários em sites Joomla

Registro de usuários em sites Joomla

Indique esta página Imprimir PDF
(15 votos, média 4.9 de 5)

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:

<tr>
   <td height="40">
      <label id="email2msg" for="email2">
         <?php echo 'Repita o email'; ?>:
      </label>
   </td>
   <td>
      <input type="text" id="email2" name="email2" size="40" value=""
         class="inputbox required validate-emailverify" maxlength="100" /> *
   </td>
</tr>

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:

<script type="text/javascript">
<!--
   Window.onDomReady(function(){
      document.formvalidator.setHandler('passverify', function (value) {
         return ($('password').value == value); });
   });
// -->
</script>

Pois bem, basta adicionar uma nova comparação:

<script type="text/javascript">
<!--
   Window.onDomReady(function(){
      document.formvalidator.setHandler('passverify', function (value)
         { return ($('password').value == value); });
      document.formvalidator.setHandler('emailverify', function (value)
         { return ($('email').value == value); });
   });
// -->
</script>

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 comemora

Atualização Ter, 21.04.2009 21:30  

Na Aldeia

Há 108 visitantes online

3630 registros
0 hoje
14 nesta semana
4 neste mês

Boas vindas: flor

Estatística

Membros: 3639
Artigos: 1045
Links: 90
Leituras: 6681031

Login

Kanji da hora




Faça contato







Você conhece a brincadeira do o que é, o que é? Tem algumas bonitinhas como o que é, o que é? Cai de pé e corre deitada! (a chuva) ou, o que é, o que é? Quando entra na casa fica do lado de fora! (o botão da camisa). E esta aqui, será que você mata?

Leia Mais