<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tutorial reCAPTCHA &#8211; Turbosite &#8211; Blog</title>
	<atom:link href="https://www.turbosite.com.br/blog/tag/tutorial-recaptcha/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.turbosite.com.br/blog</link>
	<description></description>
	<lastBuildDate>Fri, 23 Jan 2015 11:12:59 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.turbosite.com.br/blog/wp-content/uploads/2026/09/cropped-logo_turbo_vermelha-32x32.png</url>
	<title>tutorial reCAPTCHA &#8211; Turbosite &#8211; Blog</title>
	<link>https://www.turbosite.com.br/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Como Integrar o “No CAPTCHA reCAPTCHA” em seu Site</title>
		<link>https://www.turbosite.com.br/blog/como-integrar-o-no-captcha-recaptcha-em-seu-site/</link>
		
		<dc:creator><![CDATA[turboajuda]]></dc:creator>
		<pubDate>Fri, 23 Jan 2015 11:12:59 +0000</pubDate>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[CAPTCHA]]></category>
		<category><![CDATA[tutorial reCAPTCHA]]></category>
		<guid isPermaLink="false">http://blog.turbosite.com.br/?p=3981</guid>

					<description><![CDATA[Desenvolvedores do Google trouxessem a melhor solução para o CAPTCHA, o “No CAPTCHA reCAPTCHA”. Aprenda neste tutorial como Integrar esta ferramenta ao seu site.]]></description>
										<content:encoded><![CDATA[<p>Postagem original em <a href="http://webdesign.tutsplus.com/pt/tutorials/how-to-integrate-no-captcha-recaptcha-in-your-website--cms-23024">Tutsplus</a>, com tradução de <a href="http://tutsplus.com/authors/erick-patrick">Erick Patrick</a>. Vale a pena a leitura!</p>
<p>É possível que os formulários CAPTCHA sejam uma das piores e mais comuns experiências na web. Eles são dolorosos demais para a maioria dos usuários, sem falar dos deficientes visuais ou daquelas pessoas que dependem de tecnologias assistivas, como os leitores de tela, para navegar pela web. Contudo e infelizmente, os CAPTCHAs são absolutamente vitais na luta contra o <em>SPAM</em>.</p>
<figure class="post_image"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3982" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/captcha-1.jpg" alt="captcha-1" width="600" height="300" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/captcha-1.jpg 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/captcha-1-300x150.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /><figcaption>Um mal necessário (obrigado <em>spammers</em>)</figcaption></figure>
<p>Ironicamente, mesmo que os CAPTCHAs tradicionais com “textos distorcidos” sejam estranhos para usuários humanos lerem, tecnologias modernas de inteligência artificial tem menos problema em resolvê-los. O Google até usa uma tecnologia similar para ler os números e sinais de estradas para confirmar as localidades no <em>Google Street View</em>!</p>
<figure class="post_image"><img decoding="async" class="alignnone size-full wp-image-3983" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/maps.jpg" alt="maps" width="600" height="420" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/maps.jpg 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/maps-300x210.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /><figcaption>Robôs do Google podem <a href="http://googleonlinesecurity.blogspot.com.es/2014/04/street-view-and-recaptcha-technology.html" target="_self">ler isso com precisão</a></figcaption></figure>
<p>E o mais lógico é que os próprios desenvolvedores do Google trouxessem a melhor solução para o CAPTCHA, até agora, ao final do ano de 2014. O <a href="https://www.google.com/recaptcha" target="_self">No CAPTCHA reCAPTCHA</a> requer nada mais que um toque, um clique do mouse ou o foco no campo de entrada usando o teclado e, depois, apertar a <strong>barra de espaço</strong>.</p>
<figure class="post_image"><img decoding="async" class="alignnone size-full wp-image-3984" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/nocaptcha.gif" alt="nocaptcha" width="600" height="150" /></figure>
<p>Na maioria dos casos, é simples assim, porém, se a análise de risco do Google não puder ter certeza que você é realmente um humano, uma segunda solicitação aparecerá.</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3985" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/notsure.png" alt="notsure" width="600" height="400" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/notsure.png 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/notsure-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>
<p>Você já pode vê-lo em ação por toda a web.</p>
<h2 class="nolinks">Obtendo o <em>No CAPTCHA reCAPTCHA</em></h2>
<p>Deixemos de abrobrinha e configuremos o <em>No CAPTCHA</em>.</p>
<h3 class="nolinks">Passo 1</h3>
<p>Primeiro, precisamos de uma chave de API, então, vá até o site <a href="https://www.google.com/recaptcha/admin">https://www.google.com/recaptcha/admin</a>. Para ter acesso a essa página, você precisar ter acesso a sua conta do Google. Será pedido que você registre seu site, então dê um nome adequado e liste os domínios (por exemplo, <span class="skimlinks-unlinked">tutsplus.com</span>) onde esse reCAPTCHA em particular será usado. Subdomínios (como<span class="skimlinks-unlinked">webdesign.tutsplus.com</span> e <span class="skimlinks-unlinked">code.tutsplus.com</span>) são levados em consideração de forma automática.</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3986" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/register.png" alt="register" width="600" height="400" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/register.png 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/register-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>
<h3 class="nolinks">Passo 2</h3>
<p>Com isso feito, você receberá a chave do seu site e chave secreta de parceiro:</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3987" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/keys.png" alt="keys" width="600" height="300" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/keys.png 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/keys-300x150.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>
<h3 class="nolinks">Passo 3</h3>
<p>Abaixo das chaves você verá alguns trechos de código para a inclusão do reCAPTCHA em seu site. Primeiro, há o do JavaScript:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:xhtml decode:true ">&lt;script src='https://www.google.com/recaptcha/api.js'&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<p>Você também pode definir qual dos <a href="https://developers.google.com/recaptcha/docs/language" target="_self">40 idiomas suportados</a> você usará, adicionando um parâmetro à cadeia de caracteres. Aqui, adicionaremos <code class="inline">pt-BR</code> o que nos trará o idioma Português Brasileiro para o reCAPTCHA:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:xhtml decode:true ">&lt;script src='https://www.google.com/recaptcha/api.js?hl=pt-BR'&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<p>Coloque essa <em>tag</em> de <em>script</em> no rodapé da sua página (ou logo abaixo de onde o reCAPTCHA aparecerá, dependendo apenas de como você prioriza o carregamento dos recursos da sua página).</p>
<h3 class="nolinks">Passo 4</h3>
<p>Agora, você precisará criar um espaço reservado em seu formulário, onde quer que você queira que o reCAPTCHA apareça:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:xhtml decode:true ">&lt;div class="g-recaptcha" data-sitekey="6LcePAATAAAAAGPRWgx90814DTjgt5sXnNbV5WaW"&gt;&lt;/div&gt;</pre>
<p>&nbsp;</p>
<p><strong>Nota</strong>: o atributo <code class="inline">data-sitekey</code> deverá conter o valor da <em>sua</em> chave, não o valor desse exemplo.</p>
<p>Há outros atributos que você pode adicionar para customizar o visual e a funcionalidade do seu reCAPTCHA. Por exemplo, adicionando o atributo <code class="inline">data-theme="dark"</code> a esse elemento <code class="inline">div</code>, retornará uma versão escura do reCAPTCHA, que talvez combine melhor com a sua interface:</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3988" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/dark.jpg" alt="dark" width="600" height="150" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/dark.jpg 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/dark-300x75.jpg 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>
<p>Para mais detalhes sobre a configuração do reCAPTCHA, dê uma olhada no site <a href="https://developers.google.com/recaptcha/docs/display#config" target="_self">developers.google.com</a>.</p>
<h2 class="nolinks">Juntando Tudo</h2>
<p>Agora que temos todos os ingredientes iniciais, é hora de colocá-los para funcionar.</p>
<h3 class="nolinks">Passo 1</h3>
<p>Coloquemos a <em>tag</em> e a <code class="inline">div</code> do espaço reservado em um formulário bem simples:</p>
<pre class="lang:xhtml decode:true">&lt;!DOCTYPE html&gt;
&lt;html lang="pt-BR"&gt;
  &lt;head&gt;
&lt;title&gt;Como Integrar o “No CAPTCHA reCAPTCHA” do Google no Seu Site&lt;/title&gt;
  &lt;/head&gt;
 
  &lt;body&gt;
 
    &lt;form action="" method="post"&gt;
 
      &lt;label for="name"&gt;Nome:&lt;/label&gt;
      &lt;input name="name" required /&gt;&lt;br /&gt;
 
      &lt;label for="email"&gt;E-mail:&lt;/label&gt;
      &lt;input name="email" type="email" required /&gt;&lt;br /&gt;
 
      &lt;div class="g-recaptcha" data-sitekey="6LcePAATAAAAAGPRWgx90814DTjgt5sXnNbV5WaW"&gt;&lt;/div&gt;
 
      &lt;input type="submit" value="Enviar" /&gt;
 
    &lt;/form&gt;
 
    &lt;!--js--&gt;
    &lt;script src='https://www.google.com/recaptcha/api.js?hl=pt-BR'&gt;&lt;/script&gt;
 
  &lt;/body&gt;
&lt;/html&gt;</pre>
<p>&nbsp;</p>
<p>Criamos uma estrutura bem básica com um formulário contendo campos para <code class="inline">nome</code> e <code class="inline">e-mail</code>, além do botão para enviar o formulário. Não há qualquer estilização ou coisa do tipo, porque não será necessário para esse tutorial.</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3989" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form.png" alt="form" width="600" height="200" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form.png 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form-300x100.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /><figcaption>Você deve ter algo mais ou menos assim</figcaption></figure>
<p>Para demonstrar que o teste do reCAPTCHA funcionou, precisaremos executar algumas verificações no lado do servidor. Neste caso, faremos usando o PHP, então, salve este arquivo em um novo projeto, como <code class="inline">index.php</code>.</p>
<h3 class="nolinks">Passo 2</h3>
<p>Você perceberá que o método de submissão do formulário é do tipo <code class="inline">post</code>, então, quando os dados do formulário forem enviados, eles retornam para essa mesma página na forma de um vetor. Podemos retornar esses valores, iterando sobre elas, então, adicione o seguinte código à sua página:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true ">&lt;?php
      foreach ($_POST as $key =&gt; $value) {
          echo '&lt;p&gt;&lt;strong&gt;' . $key.':&lt;/strong&gt; '.$value.'&lt;/p&gt;';
      }
?&gt;</pre>
<p>&nbsp;</p>
<p>Esse código pega cada par chave/valor presente em nosso vetor <code class="inline">$_POST</code> e retorna-os com uma certa formatação. Agora, ao submeter o formulário, você deverá ver algo parecido com isso:</p>
<figure class="post_image"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3990" src="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form-submitted.png" alt="form-submitted" width="600" height="377" srcset="https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form-submitted.png 600w, https://www.turbosite.com.br/blog/wp-content/uploads/2015/01/form-submitted-300x189.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>
<p>Você verá os valores retornados para <code class="inline">name</code> e <code class="inline">email</code>, mas também verá um valor para <code class="inline">g-recaptcha-response</code>. Se você errou no teste do CAPTCHA, esse valor estará em branco, mas se você marcou a caixa “Eu não sou um robô” (em inglês,<em>I’m not a robot</em>), você verá uma enorme cadeia de caracteres.</p>
<p>É esse valor que precisamos enviar para o Google, para que ele o verifique. Então, é isso que faremos agora.</p>
<h3 class="nolinks">Passo 3</h3>
<p>Felizmente, a equipe de desenvolvedores do Google fez o trabalho duro por nós. Basta irmos ao projeto no Github do <a href="https://github.com/google/ReCAPTCHA" target="_self">ReCAPTCHA</a> e baixarmos uma cópia do da biblioteca <a href="https://github.com/google/ReCAPTCHA/blob/master/php/recaptchalib.php" target="_self">recaptchalib.php</a>. Coloque-a no diretório raiz do seu projeto e referencie-o no topo do seu arquivo <code class="inline">index.php</code>:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true ">&lt;?php
 
// busca a biblioteca recaptcha
require_once "recaptchalib.php";
 
?&gt;</pre>
<p>&nbsp;</p>
<h3 class="nolinks">Passo 4</h3>
<p>Essa biblioteca contém uma coleção de funções que enviam o <code class="inline">g-recaptcha-response</code> (junto de nossa chave secreta) para o Google, através de uma requisição HTTP. Depois, recebem a resposta, verificando se o CAPTCHA foi bem sucedido ou não. Para usá-las, precisamos preparar algumas variáveis, antes da <em>tag</em> de fechamento do PHP:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true ">// sua chave secreta
$secret = "6LcePAATAAAAABjXaTsy7gwcbnbaF5XgJKwjSNwT";
 
// resposta vazia
$response = null;
 
// verifique a chave secreta
$reCaptcha = new ReCaptcha($secret);</pre>
<p>&nbsp;</p>
<p>O <code class="inline">ReCaptcha()</code> verifica se nossa chave está presente. Em caso negativo, ele encerra o processo e recomenda obtermos uma. Agora, passamos nossos detalhes pelo seguinte código:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true ">// se submetido, verifique a resposta
if ($_POST["g-recaptcha-response"]) {
$response = $reCaptcha-&gt;verifyResponse(
        $_SERVER["REMOTE_ADDR"],
        $_POST["g-recaptcha-response"]
    );
}</pre>
<p>&nbsp;</p>
<h3 class="nolinks">Passo 5</h3>
<p>Assumindo que tudo esteja bem com nosso formulário enviado, a variável <code class="inline">$response</code> reportará “sucesso” e podermos continuar o processamento dos dados do formulário. Eis como pode ficar: remova a parte que iteramos sobre os dados do formulário e adicione a verificação acima do formulário:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true">&lt;?php
      if ($response != null &amp;&amp; $response-&gt;success) {
        echo "Olá, " . $_POST["name"] . " (" . $_POST["email"] . "), obrigado por enviar seu formulário!";
      } else {
?&gt;</pre>
<p>&nbsp;</p>
<p>Por fim, adicione a <em>tag</em> de fechamento do PHP após o formulário:</p>
<pre class="left-set:true right-set:true whitespace-before:2 whitespace-after:2 lang:php decode:true ">&lt;?php } ?&gt;</pre>
<p>&nbsp;</p>
<p>Esse código mostra o formulário, a não ser que tenha sido submetido com sucesso, quando aparecerá uma pequena mensagem de agradecimento.</p>
<h2 class="nolinks">Conclusão</h2>
<p>Essa foi uma implementação bem simples e crua em PHP para o <em>No CAPTCHA reCAPTCHA</em>. Está aberto a aprimoramentos, mas, acredito que dará uma boa ideia do básico. Créditos da biblioteca vai para a <a href="https://github.com/google" target="_self">equipe de desenvolvedores do Google</a> e também devo agradecer ai <a href="https://twitter.com/mattaussaguel" target="_self">Matt Aussaguel</a> por apresentá-la.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
