El plugin sfFormExtraPlugin
incluye un widget para mostrar CAPTCHA llamado sfWidgetFormReCaptcha
y basado en el proyecto ReCaptcha:
$w = new sfWidgetFormReCaptcha(array(
'public_key' => 'CLAVE_PUBLICA_DE_RECAPTCHA'
));
Opción | Descripción |
---|---|
public_key |
La clave pública de ReCaptcha |
use_ssl |
Indica si se utiliza SSL en la conexión (false por defecto) |
server_url |
La URL de la API HTTP |
server_url_ssl |
La URL de la API HTTPS (sólo se utiliza si la opción use_ssl es true ) |
La opción public_key
es la clave pública de ReCaptcha, que puedes solicitar gratuitamente desde la página para solicitar claves de la API.
Nota Si necesitas ayuda sobre este servicio, puedes consultar la documentación de la API de ReCaptcha.
Como no se puede cambiar el nombre de los campos de ReCaptcha, tienes que añadirlos manualmente al asociar un formulario enviado mediante una petición HTTP.
Si por ejemplo el nombre de los campos de tu formulario sigue el formato contacto[%s]
, este es el código que necesitas para asegurar que la información del CAPTCHA se añade al resto de valores enviados mediante el formulario:
$captcha = array(
'recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'),
'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'),
);
$valoresEnviados = array_merge(
$request->getParameter('contacto'),
array('captcha' => $captcha)
);
Este widget hace uso del validador sfValidatorReCatpcha
.