Integrando o Google reCaptcha com o CodeIgniter Integrando o Google reCaptcha com o CodeIgniter
Esse tutorial sobre a integração do Google reCaptcha com o CodeIgniter foi solicitado pelo leitor Marcelo Santos através das sugestões de posts. Você também pode sugerir posts para publicarmos, basta clicar no botão que aparece na lateral esquerda do site e em seguida clicar em Criar Sugestão.
A integração com o Google reCaptcha é bem simples. O primeiro passo é obter as chaves para uso da API, e isso você pode fazer através do console de gerenciamento da Google, clicando aqui. Após obter as chaves, é hora de você criar o projeto, e para isso vamos usar o Composer.
Abra o terminal e acesse o diretório onde armazena seus projetos, em seguida execute o comando a seguir para criar o projeto usando a versão mais recente do CodeIgniter.
composer create-project bcit-ci/codeigniter NOME_DO_DIRETORIO --prefer-dist
Feito isso, o projeto será criado em alguns instantes.
Biblioteca de apoio ao Google reCaptcha
Para facilitar o seu trabalho, os desenvolvedores do Google criaram uma biblioteca que vai permitir a você fazer a verificação do reCaptcha de maneira simples e rápida.
Instale a biblioteca de apoio usando o Composer. Para isso abra o arquivo composer.json que fica na raiz do projeto que você acabou de criar e adicione a linha a seguir em required, logo após as definições da versão do PHP:
Feito isso, execute no terminal o comando composer update para que a biblioteca de apoio do reCaptcha seja adicionada e altere o a configuração do autoload do Composer em applicaton/config/config.php.
A configuração da aplicação para uso do reCaptcha é bastante simples, e para esse exemplo não vamos alterar muito a estrutura original do controller Welcome e da view welcome_message que já são criados por padrão na instalação do CodeIgniter.
Editando o controller
Abra o arquivo application/controllers/Welcome.php e altere o médodo index() conforme o código a seguir:
Abra o arquivo application/views/welcome_message.php e altere o código conforme apresentado a seguir:
Para que o formulário funcione integralmente você precisará ir até o arquivo application/config/autoload.php e adicionar o carregamento automático do helper url.
Se você criou as chaves da API enquanto lia este post, será necesásrio aguardar um pouco – segundo documentação da API, cerca de 30 minutos – até que as chaves geradas estejam disponíveis. Ao tentar executar os testes da aplicação criada antes disso pode acontecer de dar erro e o reCaptcha não ser exibido ou não ser validado.
A implementação feita nesse tutorial é bem simples, mas vocÊ pode ir muito além. Veja a seguir sugestões de implementação que você pode adicionar em sua apolicação com reCaptcha:
definir as chaves da API em um arquivo de configuração, dentro de application/config
criar um callback para validação do reCaptcha de modo que possa validá-lo no formato de validação de formulário nativo do CodeIgniter
O código-fonte completo desse exemplo de integração está disponível no GitHub. Até o próximo tutorial!