Actualizar V3 (Forma corta)

Perfil del autor

Iniciado por Miguel92
En Actualizaciones Más de 5 meses


Topic en Actualizaciones N°347
Público Privacidad
Normal Tipo
3 Respuestas
134 Visitas
4 Puntos
Miguel92 Fundador 180 14
Topics 27
Respuestas 95
Miguel92 Fundador
Más de 5 meses
Este mod esta basado en el anterior "Actualizar Recaptcha v2 a V3 por _morozov" que había realizado un usuario en phpost
 
1 - Ir a t.php_files/p.registro.form.tpl y buscamos o en t.registro.tpl (En el caso que tengas el mod de registro)
<div class="form-line">
<label>Confirme humanidad:</label>
<div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div>
<div class="help"><span><em></em></span></div>
</div>

y reemplazamos por
<div class="form-line">
<input type="hidden" name="g-recaptcha-response" id="recaptchaResponse" class="g-recaptcha">
<div class="help"><span><em></em></span></div>
</div>

Más abajo buscamos 
<script src="https://www.google.com/recaptcha/api.js" async defer></script>

## En caso de ser una página ej: https://tuweb.com/registro/ (Mod registro)
lo van a reemplazar por
<script src="https://www.google.com/recaptcha/api.js?render={RC_PUK}"></script>
## En caso ser un modal
pegamos arriba de </head> y borramos el que está en p.registro.form.tpl 
{if !$tsUser->is_member}
<script src="https://www.google.com/recaptcha/api.js?render={RC_PUK}"></script>
{/if}
2 - en p.registro.form.tpl después de  
<script type="text/javascript">
agregamos
 var keyv3 = '{$RC_PUK}';
debajo de 
$.getScript("{$tsConfig.js}/registro.js{literal}", function(){
registro.change_paso(1);
mydialog.procesando_fin();
});
agregamos
grecaptcha.ready(function () {
grecaptcha.execute(keyv3).then(function (token) {
var recaptchaResponse = document.getElementById('recaptchaResponse');
recaptchaResponse.value = token;
});
});
3 - Ir a js/registro.js y buscamos
No hace falta agregar, ya que utilizaremos el de recaptcha v2
case 'captcha':
this.datos['captcha'] = $('#RegistroForm #recaptchaResponse').val();
luego buscamos y borramos
//Si hubo algun error, recargo recaptcha
var rnum = h.substring(0, strpos(h, ':'));
if (rnum != '1' || rnum != '2') {
registro.datos['g-recaptcha-response'] = '';
grecaptcha.reset();
}

Deben generar la clave de la versión 3 del recaptcha,
un pequeño hack: Para que este le funcione correctamente busquen config.inc.php y borren lo siguiente 
define('RC_PUK',"6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L"); //public key recaptcha aqui
define('RC_PIK',"6LcXvL0SAAAAAEg1zizOxJPTjlD0ZtbbzubF2NjE"); //private key recaptcha aqui
Luego en header.php buscan 
$smarty->assign('tsMPs',$tsMP->mensajes);
y debajo agregan 
/* PARA LAS CLAVES DE RECAPTCHA V3 */
$smarty->assign('RC_PUK', $tsCore->settings['pkey']);

Y listo...No hay demo ya que el sitio mismo lo usa!

4 puntos
3
Loading...

¿Como comentar?

Para poder comentar necesitas estar Registrado.


Si ya eres miembro ingresa a tu cuenta.