decifra-captcha/decifra-captcha-php

此软件包最新版本(1.1)没有可用的许可证信息。

解决、绕过和解码 captchas 和 reCaptchas 的解决方案

1.1 2017-02-13 16:34 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:35:56 UTC


README

描述

DecifraCaptcha 类允许您轻松使用 PHP 解决 captchas 和 recaptchas v2。

这是解码 captchas 和 recaptchas v1 或 v2 最简单的方法

请访问网站 http://decifracaptcha.com.br 以获取您的 token

解决 reCaptcha V2

<?php 
require_once("../DecifraCaptcha.php");

//cadastre-se no site http://decifracaptcha.com.br e coloque seu token aqui
$token = "coloqueseutokenaqui"; 

//instânciando a classe DecifraCaptcha
$DecifraCaptcha = new DecifraCaptcha();  

//url onde se encontra o reCaptcha v2 que você quer decifrar
$url = "http://decifracaptcha.com.br/Sandbox/recaptcha"; 

/* 
Para pegar o data_sitekey, entre na página onde está o reCaptcha e procure por "data_sitekey". 
Pegue então o valor que está neste atributo e coloque abaixo
*/
$data_sitekey = "6LfkmBIUAAAAAEyzJEjtl8x07609j5bQssB90Mhm"; 

//Chamando o método para decifrarRecaptcha v2
$resposta = $DecifraCaptcha->decifrarRecaptcha($token, $url, $data_sitekey);

//Imprimindo a resposta
echo "<pre>";
print_r($resposta);
echo "</pre><br>";

//um parametro exigido pela página http://decifracaptcha.com.br/Sandbox/recaptcha para validar o captcha
$posts = "enviado=1"; 

/*	
A resposta do reCaptcha v2 deve ser enviada como post com o parametro g-recaptcha-response
Você insere $resposta->captcha_texto no textarea id="g-recaptcha-response" ou envia este parametro como post
*/
$posts .= "&g-recaptcha-response=".$resposta->captcha_texto.";"; 

/*	
Usamos o curl aqui, para enviar a resposta para o http://decifracaptcha.com.br/Sandbox/recaptcha
mas você pode usar a ferramenta que quiser
*/
$curl_options = array(
    CURLOPT_RETURNTRANSFER => true, //retorna o conteúdo da requisição via curl
    CURLOPT_POST => true, // tipo de requisição post
    CURLOPT_URL => $url, //url para iniciar a decodificação do captcha
    CURLOPT_POSTFIELDS => $posts, // parâmetros do post
    CURLOPT_HEADER => false, // não retornar o cabeçalho da requisição
);

$ch      = curl_init();
curl_setopt_array($ch, $curl_options);
$resp    = curl_exec($ch);
if(!empty(curl_error($ch))){
	echo curl_error($ch);
}
echo $resp;
curl_close($ch);
?>

如果一切顺利,您将获得

stdClass Object
(
    [sucesso] => 1
    [message] => Captcha resolvido com sucesso
    [status] => OK
    [captcha_id] => 250513
    [captcha_texto] => 03AHJ_Vuu7BLEyfA1e9m4lGGqv1c60E4FJhsw...
)
Parabéns. Você conseguiu passar pelo recaptcha v2

响应包含以下参数

  • sucesso: 返回 0(失败)或 1(成功)
  • message: 由 API 返回的消息
  • status: 您的交易状态,如果一切顺利将返回 OK
  • captcha_id: 您的 captcha 在我们系统中的 id
  • captcha_texto: 您将使用的信息以通过 reCaptcha v2

解决 captcha 或 reCaptcha V1(文本或数字格式的 captcha)

<?php 
require_once("../DecifraCaptcha.php");

//cadastre-se no site http://decifracaptcha.com.br e coloque seu token aqui
$token = 'coloqueseutokenaqui'; 

//aqui vai o seu arquivo com o caminho correspondente
//obs: se você quer resolver um captcha de um site, você deve fazer o download dele primeiro para enviar
$arquivo = "../captchas/captcha.jpg"; 

//Instanciando a classe DecifraCaptcha
$DecifraCaptcha = new DecifraCaptcha();

//Chamando o método para captchas e reCaptcha v1
$resposta = $DecifraCaptcha->decifrarCaptcha($token, $arquivo);

//Imprimindo a resposta
echo "<pre>";
print_r($resposta);
echo "</pre><br>";

?>

如果一切顺利,您将获得

stdClass Object
(
    [sucesso] => 1
    [message] => Captcha resolvido com sucesso
    [status] => OK
    [captcha_id] => 250513
    [captcha_texto] => 03AHJ_Vuu7BLEyfA1e9m4lGGqv1c60E4FJhsw...
)
Parabéns. Você conseguiu passar pelo recaptcha v2

响应包含以下参数

  • sucesso: 返回 0(失败)或 1(成功)
  • message: 由 API 返回的消息
  • status: 您的交易状态,如果一切顺利将返回 OK
  • captcha_id: 您的 captcha 在我们系统中的 id
  • captcha_texto: 您将使用的信息以通过 reCaptcha v2