Aprenda a implementar o reCAPTCHA no Scriptcase, a API do Google para o famoso “EU NÃO SOU ROBÔ”.
Primeiramente o que é o reCAPTCHA?
O reCAPTCHA é um recurso com sistema de caixas de diálogos desenvolvido pela Universidade Carnegie Mellon em Pittsburgh e implementa um algoritmo aleatório muito utilizado em sistemas de autenticação, a fim de evitar ataques de “Brute Force”, ou seja, visa garantir que um “ser humano” está naquele momento interagindo com o sistema em tempo real. Em 2009 o Google adquiriu essa ferramenta e atualmente é amplamente usada, especialmente por New York Times e Google Books.
Scriptcase – Recursos Avançados
- Para implementarmos o reCaptcha Google ao Scriptcase faremos uso de classes externas.
- A api reCaptcha nos fornecerá código JavaScript a ser inserido na aplicação Scripcase.
- Utilizamos uma Classe PHP para capturar a resposta do reCAPTCHA ao qual podemos dar o tratamento necessário para evitar possíveis invasões.
Nesse link você obterá as chaves secreta e do site para confirmação da Api Google:
https://www.google.com/recaptcha
Scriptcase: Criando uma Aplicação de Controle
Adquira a biblioteca recaptchalib.php.
Crie um biblioteca externa no Scriptcse, sugiro criar como pública, com o nome: reCaptcha e adicione o arquivo php do link acima como recaptchalib.php
Crie uma aplicação de controle com dois campos como o exemplo, Assunto e Mensagem.
Adicionando a biblioteca reCAPTCHA
Insira o código abaixo no evento onscriptinit. Incluindo acesso a api javascript do Google e incorporahdo a Biblioteca Externa recaptchalib.php
?>
<script src=’https://www.google.com/recaptcha/api.js></script>
<?phpsc_include_library(‘sys’,’reCaptcha’,’recaptchalib.php’);
Capturando e tratando o retorno da API reCAPTCHA
Insira o código abaixo no evento onvalidate.
if (isset($_POST[‘g-recaptcha-response’])) {
$captcha_data = $_POST[‘g-recaptcha-response’];
}if (!$captcha_data) {
sc_error_message(‘Garanta que você não é um robô, clique na caixa de seleção!’);
}else{$secret = “### Sua Secret Key ###”;
$response = null;
$reCaptcha = new ReCaptcha($secret);
if ($_POST[“g-recaptcha-response”]) {
$response = $reCaptcha->verifyResponse(
$_SERVER[“REMOTE_ADDR”],
$_POST[“g-recaptcha-response”]
);
}if ($response != null && $response->success) {
sc_alert(“Mensagem enviada com sucesso!”);
} else {
sc_error_message( “Usuário mal intencionado detectado. A mensagem não foi enviada.”);
}
}
Adicionando a caixa de confirmação robô/humano
Insira o código abaixo no ajuda/texto do campo Mensagem da Aplicação
<br>
<div class=”g-recaptcha” data-sitekey=”###sua sitekey###”></div>
Entendendo o conceito
Como detectar se não é um Robô acessando sua aplicação?
Catpcha de imagens distorcidas tem se tornado cada vêz menos usual devido a dificuldade que o usuário/internauta tem para convencer que é um ser Humano acesdsando a refereida página.
A Api do Google tornou esse processo de confirmação mais fácil apenas com um click em uma caixa de verificação. Na verdade o Google já sabe que antes de chegar em determinada página que você já estava interagindo com o Browser.
Pode acontecer, quando a api desconfia do acesso, forçar a exibição de uma tela com imagens que somente um ser Humano reconheceria.
Atualizações recentes permitem deixar invisivel até a caixa de confirmação adicionando a seu botão de submissão do formulário o código para acesso a api.
Em suá área administrativa de geração das keys de validação é possível configurar o nível de segurança desejado, deixando mais simples ou mais complexa a verificação.
Você pode gostar também…