reCAPTCHA es un servicio gratuito que permite incluir validación mediante el uso de captcha a los formularios para prevenir el SPAM. Ademas sirve para digitalizar libros pues reCAPTCHA muestras dos palabras una para verificar el captcha y la otra es una imagen que no ha sido reconocida por los OCR y que nosotros la reconoceremos.

Para utilizar la protección mediante captcha, es necesario incluir reCAPTCHA en nuestro formulario, para ello primero incluir el archivo recaptchalib.php, agregamos variables con los valores de nuestros key recién obtenidos.
require_once('recaptchalib.php');
$publickey = "6LdA4goAAAAAAOoJNAhYRlvfyrE-_zv6XrrUJjhkj";
$privatekey = "6LdA4goAAAAAAF1tiVwumBvttvdhSx5qC6xUJjhkj";
$error = null;
Ahora podremos utilizar la función recaptcha_get_html para mostrar el captcha.
<form method="post">
<label for="username">Usuario</label><br />
<input name="username" type="text" class="casilla" id="username" /><br />
<label for="usermail">Email</label><br />
<input name="usermail" type="text" class="casilla" id="usermail" /><br />
<label for="usercheck">Verificación</label><br />
<?php echo recaptcha_get_html($publickey, $error); ?>
<input type="hidden" name="action" value="register" />
<input type="submit" name="btsend" value="Enviar" />
</form>
Una ves que el formulario se ha enviado procedemos a verificar que el texto de captcha se ha ingresado correctamente en cuyo caso procesamos los datos del formulario de lo contrario mostramos un mensaje de error.
if ($_POST['action'] == "register") {
$re_ip = $_SERVER["REMOTE_ADDR"];
$re_challenge = $_POST["recaptcha_challenge_field"];
$re_response = $_POST["recaptcha_response_field"];
$re_valid = recaptcha_check_answer($privatekey, $re_ip, $re_challenge, $re_response);
if ($re_valid->is_valid) {
// procesar registro
} else {
$error = $resp->error;
}
}
Y listo!!! y a funcionar, saludos.