Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Crash_RPM en 12 Julio 2012, 17:56 pm



Título: No me valida este recaptcha
Publicado por: Crash_RPM en 12 Julio 2012, 17:56 pm
Tengo varios formularios creados y les estoy intentando añadir un captcha, porque ayer me llenaron la base de datos algun robot.

Lo que pasa es que me muestra el captcha pero no lo valida, algo no estare haciendo bien haber si pudierais ayudarme.

El formulario es este (se valida con una funcion javascript llamada validarAnuncio() ):

Código:
<form enctype="multipart/form-data" method="POST" action="insertar_bd.php" name="formulario" class="formulario" onsubmit="return validarAnuncio('motor');">
.
.
.
<!-- CAPTCHA -->
            <?php
            require_once('captcha.php');
            ?>
.
.
.
<input type="submit" value="Enviar" id="bAnuncios" class="button"  />

Y el captcha.php (que esta en el mismo directorio que el formulario) es donde estan las claves, donde se validaria supuestamente y muestra el captcha:

Código:
<?php

require_once(LIBRARY_PATH . "/recaptchalib.php");

// Get a key from https://www.google.com/recaptcha/admin/create
$publickey = "6L...";
$privatekey = "6L...";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
        $resp = recaptcha_check_answer ($privatekey,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if ($resp->is_valid) {
                echo "Correcto";
        } else {
                # set the error code so that we can display it
                $error = $resp->error;
        }
}
echo recaptcha_get_html($publickey, $error);
?>



y luego esta la libreria recaptchalib.php en el directorio LIBRARY que esa la he cojido tal cual no he cambiado nada.

A ver si vosotros sabeis porque no valida porque a mi no se me ocurre nada, estoy pensando que puede ser por la validacion con la funcion javascript.


Título: Re: No me valida este recaptcha
Publicado por: cassiani en 12 Julio 2012, 19:52 pm
cuando le das click al botón enviar, estas dirigiendo los datos del formulario al archivo insertar_bd.php, es ahí donde debes hacer la validación del captcha y en caso de error, represarlo al formulario anterior.