Foros del Web » Programando para Internet » PHP »

APORTE: Sistema de Captcha

Estas en el tema de APORTE: Sistema de Captcha en el foro de PHP en Foros del Web. @paulkees , en esencia es lo mismo. El código sencillo que realiza la comprobación es: Código PHP: # Comprobación Captcha     # Inclusión del script (Es necesario)      include  'PHPCaptcha.lib.php' ;      if( Captcha ...

  #31 (permalink)  
Antiguo 30/04/2008, 21:53
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: APORTE: Sistema de Captcha

@paulkees, en esencia es lo mismo. El código sencillo que realiza la comprobación es:

Código PHP:
# Comprobación Captcha

    # Inclusión del script (Es necesario)
    
include 'PHPCaptcha.lib.php'

    if(
Captcha::verificaCaptcha($_POST['captcha'])) { 
        echo 
"Captcha correcto"
    } else { 
        echo 
"Captcha incorrecto"
    }

# Fin Comprobación Captcha 
Ese trozo de código lo pegas dentro de tu if:

Código PHP:
if (isset($_POST["apellido"])) { 
@nicolaspar, muchas gracias. Me daré un tiempito para darme una vuelta por el foro cuando se estabilicen un poco mis horarios en la universidad. Hasta ahora, sin complicaciones

Saludos,
  #32 (permalink)  
Antiguo 01/05/2008, 17:48
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Re: APORTE: Sistema de Captcha

Hola nuevamente okram...

Gracias por seguir ayudándome.

Bueno, he colocado la comprobación como me indicaste en el archivo registro.php pero me da continuamente "captcha incorrecto", como si no estaría haciendo la verificación.

Para esto coloqué en mi php.ini "display_errors = On" y me tira Notice: Undefined index: phpcaptcha_codigo in C:\... \PHPCaptcha.lib.php on line 70

La linea 70 corresponde a:
$sc = ($mayus == true) ? $_SESSION['phpcaptcha_codigo'] : strtolower($_SESSION['phpcaptcha_codigo']);

La verdad que no se si eso quiere decir algo con respecto a la comprobación.

Saludos.-

Primera parte del archivo registro.php donde coloqué la comprobación del captcha
Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','usuario','contraseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('BD')or die ('Error al seleccionar la Base de Datos: '.mysql_error());


//añadimos la funcion que se encargara de generar un numero aleatorio
function genera_random($longitud){
    
$exp_reg="[^A-Z0-9]";
    return 
substr(eregi_replace($exp_reg""md5(rand())) .
       
eregi_replace($exp_reg""md5(rand())) .
       
eregi_replace($exp_reg""md5(rand())),
       
0$longitud);
}


function 
formRegistro(){
?>


<?php
}

// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo.
if (isset($_POST["apellido"])) {


    
# Comprobación Captcha

    # Inclusión del script (Es necesario)
    
include 'PHPCaptcha.lib.php';

    if(
Captcha::verificaCaptcha($_POST['captcha'])) {
        echo 
"Captcha correcto";
    } else {
        echo 
"Captcha incorrecto";
    }

    
# Fin Comprobación Captcha


    
$apellido $_POST["apellido"];
    
$nombre $_POST["nombre"];
    
$email $_POST["email"];
    echo 
"<div style='text-align:center;font-weight:bold;font-size:200%;color:#005784;margin-top:200px;'>";
    echo 
"<span>$apellido </span>";
    echo 
$nombre;
    echo 
"</div>";
    
// Hay campos en blanco
    
if($apellido==NULL|$nombre==NULL|$nacimiento==NULL|$residencia==NULL|$provincia==NULL|$email==NULL|$investiga==NULL) {
        echo 
"<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>Algún campo obligatorio está vacio!</div>";
        
formRegistro();
    }else{
            
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
            
$checkemail mysql_query("SELECT email FROM gerrusarg WHERE email='$email'");
            
$email_exist mysql_num_rows($checkemail);
            if (
$email_exist>0) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La cuenta de correo <span style='color:blue;'>$email</span> ya está en uso.</div>";
                
formRegistro();
        }else{

                  
//agregamos la variable $activate que es un numero aleatorio de
                  //20 digitos crado con la funcion genera_random de mas arriba

                  
$activate genera_random(20);

                  
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 1 que es desactivado

                
$query 'INSERT INTO gerrusarg (apellido, nombre, nacimiento, residencia, provincia, email, web, investiga, argentina, rusia, activate, estado)
                VALUES (\''
.$apellido.'\',\''.$nombre.'\',\''.$nacimiento.'\',\''.$residencia.'\',\''.$provincia.'\',\''.$email.'\',\''.$web.'\',\''.$investiga.'\',\''.$argentina.'\',\''.$rusia.'\',\''.$activate.'\', 1)';
                
mysql_query($query) or die(mysql_error());
  #33 (permalink)  
Antiguo 29/05/2008, 09:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: APORTE: Sistema de Captcha

¿Qué ha pasado con la web?

Me iba a bajar el PHPCaptcha de la dirección indicada (http://www.phperu.net/phpcaptcha/) pero me redirecciona a otro blog !!
  #34 (permalink)  
Antiguo 30/05/2008, 20:17
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: APORTE: Sistema de Captcha

Debe haber sido un problema con el servidor. De cualquier manera, el sitio está nuevamente activo

  #35 (permalink)  
Antiguo 31/05/2008, 06:48
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: APORTE: Sistema de Captcha

Perfecto. Gracias :)

Ya me lo he bajado ;)
  #36 (permalink)  
Antiguo 07/06/2008, 21:32
 
Fecha de Ingreso: junio-2008
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: APORTE: Sistema de Captcha

Alguien lo tiene completo, con las imagenes y fondos? El archivo que los contiene no se puede bajar desde la web http://www.webbia.net/post-phpcaptcha-sistema-de-captcha
Muchas gracias
  #37 (permalink)  
Antiguo 13/06/2008, 09:40
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años
Puntos: 1
Respuesta: APORTE: Sistema de Captcha

descargo los fondos y fonts, pero no puedo descomprimirlos, dice que el archivo es corrupto, alguien podria pasarmelo

gracias
  #38 (permalink)  
Antiguo 31/12/2008, 10:30
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: APORTE: Sistema de Captcha

Porque no publican el código completo aquí, no puedo bajarlo de la web, me aparece:

If showed, phpcaptcha is now okay

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #39 (permalink)  
Antiguo 31/12/2008, 11:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: APORTE: Sistema de Captcha

Hola the_web_saint, lamentablemente este proyecto está descontinuado por ya largo tiempo, y ya no hay planes de recuperarlo. Necesita una reestructuración total, pues su implementación es muy defectuosa y su comportamiento es bastante impredecible. Además, el uso de técnicas como los captchas para evitar el spam ya es algo obsoleto, y cada vez se usa menos estas herramientas.

De cualquier manera el tutorial del script y los archivos que lo componen los puedes descargar de http://phperu.net/captcha.

Saludos,
  #40 (permalink)  
Antiguo 31/12/2008, 17:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: APORTE: Sistema de Captcha

A petición de okram, queda cerrado el tema.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 4 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:18.