Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
PHPOST [MOD] no CAPTCHA reCAPTCHA para el registro
#1
Hola gente tal vez muchos de nosotros nos hemos topado con este tipo de captcha en alguna web, blog o foro:
[Imagen: Recaptcha_anchor%402x.gif]
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
[Imagen: mu6754T.png]
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:
[Imagen: kE020Sx.png]
2. En el archivo inc/class/c.registro.php buscar y eliminar:

Código:
'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ó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:

Código:
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:

Código:
<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:

Código PHP:
$.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:

Código PHP:
$.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:
[Imagen: ResOGH9.png]
[Imagen: NKOhOEi.png]

#2
Excelente explicacion de la integracion de verdad para mi esta captcha a cambiado la internet
#3
(01-10-2016, 02:20 PM)juanjj escribió: Excelente explicacion de la integracion de verdad para mi esta captcha a cambiado la internet


Lo he probado en localhost  y es muy bueno, pienso usarlo en mi futura web
#4
Gracias por el complemento de todos los captcha este es el más sencillo que me ha tocado usar y me gusta por eso, sería bueno implementarlo en mi sitio web.
#5
(01-10-2016, 02:20 PM)juanjj escribió: Excelente explicacion de la integracion de verdad para mi esta captcha a cambiado la internet


Lo pienso usar en mi futura web
#6
Se ve bien, funciona con el la versión movil también ?
#7
(05-10-2016, 10:30 PM)jorge2108 escribió: Se ve bien, funciona con el la versión movil también ?

Si claro para todo los dispositivos  que emulen javascript funciona
#8
Gracias! en estos dias estaba acomodando el diseño y se me vino a la cabeza cambiar el Captcha, y de casualidad vi tu publicacion,jeje 
Venezuelawarez te lo agradece!
No me dejan poner mis web Triste
WWW
#9
Muy buena explicación, es seguro que lo implemente en algunas de las webs que administro, solo que antes tendré que testearlo en localhost, gracias por compartir y saludos.
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Registro Jvh_22 24 527 03-05-2018, 10:35 PM
Último mensaje: Vicen
  PHPOST [Fix] no CAPTCHA reCAPTCHA para el registro Jvh_22 2 129 13-04-2018, 09:27 PM
Último mensaje: Jvh_22
  Registro con dificultades PHPOST shonyemi 9 864 31-07-2014, 03:58 PM
Último mensaje: Vicen
  PHPOST [FIX] Error En EL Registro LCNetwork 2 469 19-06-2014, 04:12 PM
Último mensaje: LCNetwork
  Solucionado: No funciona el Registro de mi web Netohg 6 877 26-08-2013, 03:42 PM
Último mensaje: Netohg
  Solucionado: Ayuda por mi no sirve el registro en mi web D: Dianx 4 592 21-08-2013, 01:39 AM
Último mensaje: Dianx
  [Mods] Registro V5 VideosUltraMaster 19 1,934 03-07-2013, 06:59 PM
Último mensaje: PeruxD
Bombilla [APORTE PHPOST] Solución Temporal al Bug re-captcha bochoenprogreso 2 1,746 03-04-2012, 09:35 PM
Último mensaje: bochoenprogreso



Usuarios navegando en este tema: 1 invitado(s)