Ejemplo de la librería Captcha
La librería Captcha es muy sencilla, la clase tan solo cuenta con dos métodos estáticos:
-
Captcha::generate()
: genera un código aleatorio y lo guarda en sesión. -
Captcha::verify()
: comprueba que el texto que le pasemos coincida con el código guardado en sesión.
Ejemplo de uso
En el formulario de la vista...
<p class='info'>Escribe el siguiente código: <b><?= Captcha::generate() ?></b></p>
<label>Verificació:</label>
<input class='small' type='text' name='captcha' required>
En el método del controlador...
// comprueba el captcha
if(!Captcha::verify(request()->post('captcha') ?? '')){
// flashea mensaje de error
Session::error("No se pudo verificar el Captcha.");
// regresa a la URL de la operación
return redirect("/Contacto");
}
Puedes probar su funcionamiento en el propio formulario de contacto de esta web..