Recaptcha
29 de septiembre de 2019 Código Fuente
Hace poco, como a todos alguna vez supongo, al tener un formulario de contacto, me comenzó a llegar emails de robots, algunos sin ningún contenido de valor lo que es mas extraño ya que si al menos fuera de publicidad… Para solucionarlo la opción mas cómoda es usar el recaptcha de Google. Dejo aquí el código en codeigniter para la configuración básica que evita estos robots. Primero las llamadas a Google, necesitaras registrar tu dominio con Google y te dará una key y un key secreta para insertar en tu web:
//Campo oculto en tu formulario
Y aqui el codigo php al recibir el formulario, en el score cuanto mas alto mas estricto:
$recaptcha_response = $this->input->post("recaptcha_response");
$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = 'KEY_SECRET';
$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response);
$recaptcha = json_decode($recaptcha);
if ($recaptcha->score >= 0.5) {
return true;
}else{
return false;
}
Relacionado con este articulo, una gran herramienta para poder mostrar codigo fuente en tu web es este script ligero, elegante y muy versatil llamado Rainbow. Muy recomendable.