Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Miguel92

Mini-cambio para Recaptcha V2/V3

Recommended Posts

Aunque esta modificación la puede usar tanto la recaptcha v2 como la v3

 

Recaptcha v3: "Actualizar Recaptcha v2 a V3" por @_morozov al final del topic dice: 

Importante : 

Reemplazar private y public key en config.inc.php

Con claves recaptcha v3

 

 

Ir a config.inc.php y lo borramos o lo comentan!

define('RC_PUK',"6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L"); // public key recaptcha
define('RC_PIK',"6LcXvL0SAAAAAEg1zizOxJPTjlD0ZtbbzubF2NjE"); // private key recaptcha

Luego vamos a header.php y debajo de

$smarty->assign('tsMPs',$tsMP->mensajes);

y pegamos lo siguiente

define('RC_PUK',$tsCore->settings['pkey']); // public key recaptcha
define('RC_PIK',$tsCore->settings['skey']); // private key recaptcha

así si tienen que cambiar la clave por alguna razón lo puedan hacer tranquilamente desde la admin.

 

También puede servir para Recaptcha v2, solo tienen que ir a t.php_files/p.registro.form.tpl y buscan

<div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div>

y solo reemplazan {$tsConfig.pkey} por {RC_PUK}

 

cambian esta parte que tiene que agregar arriba del </head> (un mini arreglo, y evitan que aparezca en toda la web innecesariamente

{if !$tsUser->is_member}
<script src="https://www.google.com/recaptcha/api.js?render={RC_PUK}"></script>
{/if}
Edited by Miguel92
  • Downvote 1

Share this post


Link to post
Share on other sites

  • Similar Content

    • By Miguel92
      Actualizar Recaptcha V.1 a Recaptcha V.2
      (con consultas y administración de claves)
       
      ReCaptcha v.2 (Por: @Kmario19) para generar/crear dichas claves mirá el topic de abajo
      ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
      ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 
       
      Si tienes la 1.3.0.000 no hacer los pasos de los PHP y hacer los otros, y deben reemplazar privatekey y secretkey por estas pkey y skey
       
      1 - Realizamos está consultas
      ALTER TABLE `w_configuracion` ADD `publickey` VARCHAR(80) NOT NULL AFTER `url`, ADD `privatekey` VARCHAR(80) NOT NULL AFTER `publickey`;  
      2 - Buscamos en inc/class/c.admin.tpl y buscamos 
                  'url' => $tsCore->setSecure($tsCore->parseBadWords($_POST['url'])),
      y debajo pegamos
                  'publickey' => $tsCore->setSecure($_POST['publickey']),             'privatekey' => $tsCore->setSecure($_POST['privatekey']), luego un poco más abajo buscamos 
        
       // UPDATE         if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `w_configuracion` SET `titulo` = \'' . $c['titulo'] . '\', `slogan` = \'' .             $c['slogan'] . '\', `url` = \'' . $c['url'] . '\', y a lado agregamos
          `publickey` = \'' . $c['publickey'] . '\',  `privatekey` = \'' . $c['privatekey'] . '\',  
      3 - Buscamos en inc/class/c.registro.php y borramos en las líneas 63 y 64
                  'user_captacha_challenge' => $_POST['recaptcha_challenge_field'],             'user_captacha_response' => $_POST['recaptcha_response_field'],
      más abajo buscamos
              // CAPTACHA         require(TS_EXTRA . 'recaptchalib.php');         $robot = recaptcha_check_answer(RC_PIK,$_SERVER["REMOTE_ADDR"],$tsData['user_captacha_challenge'],$tsData['user_captacha_response']);         if(!$robot->is_valid) return 'recaptcha: El código es incorrecto.'; y la reemplazamos por debemos Eliminar el archivo recaptchalib.php ya que no será necesaria
      /** reCAPTCHA [de la versión 1.3.0.000] **/ $recaptcha = 'https://www.google.com/recaptcha/api/siteverify?secret=' . $tsCore->settings['privatekey'] . '&response=' . $tsData['user_captcha'] . '&remoteip=' . $tsCore->getIP(); // Obtener respuesta $response = file_get_contents($recaptcha); // Extraer resultado $ext1 = explode('"success":', $response); $ext2 = explode(',', $ext1[1]); // Comprobar resultado $valid = trim($ext2[0]); // Devolver respuesta si es incorrecta if ($valid == 'false') { return 'recaptcha: Demuestra que no eres un robot! XD'; } 4 - Ahora iremos a default/templates/admin_mods/m.admin_configs.tpl y buscamos
                                              <dl>                                             <dt><label for="ai_url">Dirección del sitio:</label></dt>                                             <dd><input type="text" id="ai_url" name="url" maxlength="32" value="{$tsConfig.url}" /></dd>                                         </dl> y debajo pegamos
                                              <hr />                                         <dl>                                             <dt><label for="ai_publickey" class="col-sm-4 col-form-label">Key de recaptcha publica:</label></dt>                                             <dd><input type="text" class="form-control" id="ai_publickey" name="publickey" maxlength="50" value="{$tsConfig.publickey}"></dd>                                         </dl>                                          <dl>                                             <dt><label for="ai_privatekey" class="col-sm-4 col-form-label">Key de recaptcha privada:</label></dt>                                             <dd><input type="text" class="form-control" id="ai_privatekey" name="privatekey" maxlength="50" value="{$tsConfig.privatekey}"></dd>                                         </dl>                                          <hr>
      5 - Ahora en default/templates/t.php_files/p.registro_form.tpl buscamos
              <div class="form-line">             <label for="recaptcha_response_field">Ingresa el código de la imagen:</label>             <div id="recaptcha_ajax">                 <div id="recaptcha_image"></div>                 <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" />             </div> <div class="help recaptcha"><span><em></em></span></div>         </div> y la reemplazamos por
              <div class="form-line">             <label>Demuestra que no eres un robot:</label>             <div class="g-recaptcha" data-sitekey="{$tsConfig.publickey}"></div>             <div class="help"><span><em></em></span></div>         </div>
      luego más abajo buscamos y la borramos
      //Load recaptcha $.getScript("http://www.google.com/recaptcha/api/js/recaptcha_ajax.js", function(){     Recaptcha.create('6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L', 'recaptcha_ajax', {         theme:'white', lang:'es', tabindex:'13', custom_theme_widget: 'recaptcha_ajax',         callback: function(){             $('#recaptcha_response_field').blur(function(){                 registro.blur(this);             }).focus(function(){                 registro.focus(this);             }).attr('title', 'Ingrese el código de la imagen');         }     }); }); Arriba de
      <script type="text/javascript"> $.getScript("{$tsConfig.js}/registro.js{literal}", function(){ Agregaremos
      <script src="https://www.google.com/recaptcha/api.js" async defer></script> Luego deben ir a
       
    • By aflope
      Buenas tardes alguien me ayuda quitar el reCAPTCHA v2 de la sección de registro!

    • By kiko
      "Hola Tengo este problema como lo soluciono gracias ... error para el propietario del sitio web recaptcha Mi web es esta               masdescarga.xyz
       
       
       
       

    • By Kmario19
      Hola gente tal vez muchos de nosotros nos hemos topado con este tipo de captcha en alguna web, blog o foro:

      Pues, les enseño a como instalarlo en su script:
      1. Registrar un sitio para usar la aplicación, aquí nos aseguraremos desde qué dominios se usará el captcha para hacerlo bien seguro. https://www.google.com/recaptcha/admin#list

      Colocar un título, los dominios donde usarás el captcha y uno o varios correos a los cuales se enviaran alertas si algo sospechoso ocurre en su web al usar el captcha.
      Luego de registrar interesa conservar las claves del sitio como estas:

      2. En el archivo inc/class/c.registro.php buscar y eliminar:
      'user_captacha_challenge' => $_POST['recaptcha_challenge_field'], 'user_captacha_response' => $_POST['recaptcha_response_field'], Mas abajo buscar:
      $robot = recaptcha_check_answer(RC_PIK,$_SERVER["REMOTE_ADDR"],$tsData['user_captacha_challenge'],$tsData['user_captacha_response']); if(!$robot->is_valid) return 'recaptcha: El c&oacute;digo es incorrecto.'; Reemplazar por:
      $secret = "AQUI TU CLAVE SECRETA"; $robot = new ReCaptcha($secret); $robot->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST['g-recaptcha-response']); if(!$robot->success) return 'recaptcha: Hey que pasa? Demuestra que no eres un robot!'; En la variable $secret colocar la clave secreta que se creó en el paso anterior.
      3. Descargar y reemplazar el archivo inc/ext/recaptchalib.php:
      https://www.dropbox.com/s/ogmi26w0g8krnwb/recaptchalib.php?dl=0
      4. En el archivo js/registro.js buscar:
      case 'recaptcha_challenge_field': return true; break; case 'recaptcha_response_field': //Si ya paso por aca y no hubieron cambios, devuelvo el mismo status if(!force_check && this.datos[campo] === value && this.datos['recaptcha_challenge_field'] == $('#RegistroForm .pasoDos #recaptcha_challenge_field').val()) if(this.datos_status[campo]=='empty') return no_empty ? this.show_status(el, this.datos_status[campo], this.datos_text[campo]) : this.hide_status(el, this.datos_status[campo], this.datos_text[campo]); else return this.show_status(el, this.datos_status[campo], this.datos_text[campo]); //Almaceno el dato this.datos[campo] = value; this.datos['recaptcha_challenge_field'] = $('#RegistroForm .pasoDos #recaptcha_challenge_field').val(); //!empty if(empty(value)){ var status = 'empty'; var text = 'El campo es requerido'; if(no_empty) return this.show_status(el, status, text); else return this.hide_status(el, status, text); } return registro.show_status(el, 'ok', 'OK'); break; Reemplazar por:
      case 'g-recaptcha-response': this.datos[campo] = value; //!empty if(!value){ return this.show_status($('#RegistroForm .g-recaptcha'), 'empty', 'Demuestra que no eres un robot'); } return registro.show_status($('#RegistroForm .g-recaptcha'), 'ok', 'OK'); break; Mas abajo buscar:
      registro.datos['recaptcha_response_field'] = ''; Recaptcha.reload('t'); Reemplazar por:
      registro.datos['g-recaptcha-response'] = ''; grecaptcha.reset(); Mas abajo buscar:
      registro.show_status($('#RegistroForm #recaptcha_response_field'), 'error', h.substring(strpos(h, ':')+2)); Reemplazar por:
      registro.show_status($('#RegistroForm .g-recaptcha'), 'error', h.substring(strpos(h, ':')+2)); 5. En el archivo templates/t.php_files/p.registro.form.tpl.php buscar:
      <div class="form-line"> <label for="recaptcha_response_field">Ingresa el c&oacute;digo de la imagen:</label> <div id="recaptcha_ajax"> <div id="recaptcha_image"></div> <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" /> </div> <div class="help recaptcha"><span><em></em></span></div> </div> Reemplazar por:
      <div class="form-line"> <label>Demuestra que no eres un robot:</label> <div class="g-recaptcha" data-sitekey="AQUI TU CLAVE DEL SITIO"></div> <div class="help"><span><em></em></span></div> </div> En el atributo data-sitekey colocar la clave del sitio que se creó en el paso #1.
      Mas abajo buscar:
      $.getScript("http://www.google.com/recaptcha/api/js/recaptcha_ajax.js", function(){ Recaptcha.create('6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L', 'recaptcha_ajax', { theme:'custom', lang:'es', tabindex:'13', custom_theme_widget: 'recaptcha_ajax', callback: function(){ $('#recaptcha_response_field').blur(function(){ registro.blur(this); }).focus(function(){ registro.focus(this); }).attr('title', 'Ingrese el c&oacute;digo de la imagen'); } }); }); Reemplazar por:
      $.getScript("https://www.google.com/recaptcha/api.js?hl=es"); Y listo, eso es todo lo que hay que hacer, les quedará algo como esto:


      Espero les haya gustado, sobretodo a Rengo que sufrió un poco instalando el captcha, que te sirva. Nos vemos en otro aporte 
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Patrocinador



  • ×