Bienvenido, invitado ( Identificarse | Registrarse )

 
Reply to this topicStart new topic
Captcha, ¿Como crear una captcha?
ShdwIntrdr
mensaje Nov 25 2009, 01:58 AM
Publicado: #1


Newbie
Ícono de Grupo

Grupo: Miembro
Edad: 19
Temas por día: 0.01
Mensajes: 5
Hora local: Jul 31 2010, 06:32 AM
Registrado: 28-December 07
Miembro No.: 7



Buenas a los miembros de este foro!!!

Tengo una duda sobre la creacion de una captcha, es para fines academicos...
Buscaba algo relacionado con las maquinas de turing, y me encontre con algo llamado el test de turing y algunas de las aplicaciones de este es la utilizacion de captchas....

¿Alguien podria ayudarme?
Quisiera saber como puedo crear una captcha en php...
Quiero mencionar que soy iniciante

Espero puedan ayudarme!!!
Gracias.... rolleyes.gif
Go to the top of the page
 
+Quote Post
staff
mensaje Nov 25 2009, 02:38 AM
Publicado: #2


Administrator
Ícono de Grupo

Grupo: Root Admin
Edad: 20
Temas por día: 0.18
Mensajes: 55
Hora local: N/A
Registrado: 20-September 09
Desde: México
Miembro No.: 2



Primero una explicación sobre el uso que se le da a un captcha:

Los captchas combaten el spam , pero tienen problemas

Dave Simmer es un diseñador gráfico experto en computadoras. Sin embargo, cuando navega en Internet, a menudo se ve paralizado por los revoltijos de letras y números distorsionados que algunos sitios Web le piden reescribir para permitirle el acceso. "Cada vez los hacen más deformados y largos", dice.

Las personas con problemas de visión siempre han condenado estos códigos, que protegen a páginas como Yahoo.com de programas que rastrean cuentas de email para quienes envían correo basura. Ahora, los acertijos también están irritando a otros usuarios de la Web, a medida que las empresas los hacen más confusos en su batalla contra el spam.

Además, los códigos de "Prueba de Turing pública y automática para diferenciar a máquinas y humanos", o captcha, por sus siglas en inglés, están haciéndose más habituales gracias al auge de nuevos servicios Web, como los blogs y los sitios para socializar. Turing es Alan Turing, un matemático famoso por descifrar códigos durante la Segunda Guerra Mundial.

Los más complicados "hacen que no quieras volver a esos sitios nunca más", dijo Scott Reynolds, un arquitecto de software de EE.UU., quien el año pasado arremetió contra los códigos en su blog.

Los defectos de los captchas están llevando a académicos, programadores independientes y algunas compañías de Internet a diseñar variaciones con la esperanza de hacer los códigos más fáciles de descifrar pero más difíciles para las computadoras. El Consorcio World Wide Web (W3C), un grupo internacional que promueve mejores estándares para la programación Web, publicó en noviembre un artículo que defendía la creación de alternativas, argumentando que las pruebas "no reconocen adecuadamente a los usuarios con discapacidades" y son vulnerables a programadores astutos.

Las compañías de Internet defienden su uso de los códigos, aduciendo que es muy difícil bloquear a quienes intentan violarlos y al mismo tiempo ofrecer una buena experiencia para los usuarios al mismo tiempo.

"Sabemos que no es una panacea, pero creemos que es una gran herramienta para impedir actividades malintencionadas", dijo David Jeske, director de ingeniería de Google Inc. Google es una de las compañías que recientemente añadieron una versión audio de captcha, que permite a aquellos con problemas de visión escuchar una letras o números y escribirlos en sus computadoras.

Algunos captchas se han resuelto con una efectividad superior al 90% por científicos especializados en visión por computadora, y también por aficionados. Sin embargo, para muchas compañías de Internet, los códigos parecen ser muy efectivos.

Algunos nuevos tipos de captchas incluyen resolver simples ecuaciones o responder a preguntas sencillas, y podrían adaptarse para ser usados por ciegos. Sin embargo, los códigos seguirían presentando desafíos para personas con problemas de aprendizaje como dislexia o débil memoria de corto plazo.


Eso como fin a tomar en cuenta.
Go to the top of the page
 
+Quote Post
staff
mensaje Nov 25 2009, 02:43 AM
Publicado: #3


Administrator
Ícono de Grupo

Grupo: Root Admin
Edad: 20
Temas por día: 0.18
Mensajes: 55
Hora local: N/A
Registrado: 20-September 09
Desde: México
Miembro No.: 2



Te dejo un link que explica como insertar un captcha utilizando el servicio que ofrende recaptcha, el link es el siguiente: http://www.desarrolloweb.com/articulos/pon...en-3-pasos.html

Creación de un captcha paso a paso:


Crear un captcha paso a paso (PHP)
Bueno los que hayais seguido leyendo hasta aquí es que quereis crear o aprender cómo funciona un captcha.

El funcionamiento es sencillo, se crea una cadena aleatoria que es escrita en una imagen y almacenada en una variable de sesión o cookie, el usuario la introducide en el formulario y esta es chequeada por el script.


6 pasos
1. Texto aleatorio
2. El texto se imprime en la imagen
3. Se almacena en alguna variable
4. Se muestra la imagen
5. El usuario introduce el código
6. Se valida los códigos (Usuario y almacenado)


Crear un texto aleatorio
<?php
//Inicio de sesión
session_start();

//Creación de cadena aleatoria
$md5 = md5(microtime() * mktime());

/*
No necesitamos 32 caracteres (generados anteriormente) y por lo tanto reducimos a 5
*/
$string = substr($md5,0,5);
?>


Creamos una imagen
<?php
/*
Creamos una imagen partiendo de una de fondo (debemos subir una imagen de fondo al servidor)
*/

$captcha = imagecreatefrompng("./captcha.png");

/*
Configuramos los colores usados para generan las lineas (formato RGB)
*/

$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);

/*
Añadimos algunas lineas a nuestra imagen para dificultar la tarea a los robots
*/
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
?>


Insertamos texto en la imagen
<?php
/*
Ahora escribimos la cadena generada aleatoriamente en la imagen
*/
imagestring($captcha, 5, 20, 10, $string, $black);

/*
Encriptamos y almacenamos el valor en una variable de sesion
*/

$_SESSION['key'] = md5($string);

/*
Devolvemos la imagen para mostrarla
*/
header("Content-type: image/png");
imagepng($captcha);
?>


Chequeamos el valor dado por el usuario en el formulario
<?php
session_start();

if(md5($_POST['code']) != $_SESSION['key'])
{
die("Error: Nos has introducido el codigo correcto");
}else{
echo 'Codigo Correcto, no eres una maquina o al menos no lo pareces';
}
?>

Fuente: http://www.tufuncion.com/captcha-php
Go to the top of the page
 
+Quote Post
ShdwIntrdr
mensaje Nov 27 2009, 01:48 AM
Publicado: #4


Newbie
Ícono de Grupo

Grupo: Miembro
Edad: 19
Temas por día: 0.01
Mensajes: 5
Hora local: Jul 31 2010, 06:32 AM
Registrado: 28-December 07
Miembro No.: 7



TENGO UN PROBLEMA EN EL CAPTCHA... NO ME MUESTRA EL TEXTO SOBRE LA IMAGEN Y AL VALIDAR NO PASA NADA... POR FAVOR AYUDA!!!!
EL CODIGO ES EL SIGUIENTE:

captcha.php

<?php
session_start();
function randomText($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,35)};
}
return $key;
}

$_SESSION['tmptxt'] = randomText(8);
$captcha = imagecreatefromgif("bgcaptcha.gif");
$colText = imagecolorallocate($captcha, 0, 0, 0);
imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);

header("Content-type: image/gif");
imagegif($captcha);
?>

y el captchademo.php

<?php
session_start();
if ($_POST['action'] == "checkdata") {
if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
echo "Codigo correcto!!! No eres una maquina o al menos no lo pareces";
} else {
echo "Error!!! No has introducido el codigo correcto";
}
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CAPTCHA</title>
<meta name="description" content="CAPTCHA con PHP: ejemplo para demostrar la creacion de Captcha con PHP." />
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" class="descdet">
<div class="bordeder">
<strong class="subder">CAPTCHA</strong><br>
Ingresar el texto mostrado en la imagen <br>
<form action="captchademo.php" method="post">
<img src="bgcaptcha.gif" width="100" height="30" vspace="3"><br>
<input name="tmptxt" type="text" size="30"><br>
<input name="btget" type="submit" class="boton" value="Verificar Codigo">
<input name="action" type="hidden" value="checkdata">
</form>
</div>
</td>
</tr>
</table>
</body>
</html>


ESPERO PUEDAS AYUDARME
Go to the top of the page
 
+Quote Post
hecky
mensaje Nov 27 2009, 02:00 AM
Publicado: #5


Member
Ícono de Grupo

Grupo: Miembro
Edad: 17
Temas por día: 0.08
Mensajes: 22
Hora local: Jul 31 2010, 06:32 AM
Registrado: 6-November 09
Desde: México DF
Miembro No.: 254



Te dejo otro ejemplo de como hacer la imagen de captcha http://foro.neobits.org/index.php?topic=92.0 solo toca hacer la verificacion que seria algo muy sencillo


--------------------
Go to the top of the page
 
+Quote Post
hdstryOwrld
mensaje Nov 27 2009, 02:10 AM
Publicado: #6


Administrador
Ícono de Grupo

Grupo: VIP
Edad: 20
Temas por día: 0.37
Mensajes: 353
Hora local: Jul 31 2010, 06:32 AM
Registrado: 26-December 07
Desde: México
Miembro No.: 1



CITA(hecky @ Nov 26 2009, 09:00 PM) *
Te dejo otro ejemplo de como hacer la imagen de captcha http://foro.neobits.org/index.php?topic=92.0 solo toca hacer la verificacion que seria algo muy sencillo


Mire el código de Hecky es bueno probado y funcional, si no te funciona puede que tenga que ver con temas como el uso de librerías que no tengas activas en php, prueba el código y cualquier cosa aquí andamos. smile.gif


--------------------
Contáctanos: staff@codebit.org
Soporte: support@codebit.org

Aprendiendo a usar el foro
Pagina de inicio

Go to the top of the page
 
+Quote Post
seguridadblanca....
mensaje Dec 11 2009, 02:41 PM
Publicado: #7


Newbie
Ícono de Grupo

Grupo: Moderadores
Edad: 17
Temas por día: 0.03
Mensajes: 7
Hora local: Jul 31 2010, 06:32 AM
Registrado: 18-November 09
Desde: Perú
Miembro No.: 263



El problema con codigos de captcha es que no solo tienes que hacer librerias GD y ya debes llevar un control ya que por errores de controls de sessiones podríamos hacer ataques de flood (con una misma session votar miles de veces) solo haria falta hacer un pequeño code con CURL y lo podriamos explotar, te recomiendo previo a hacer un captcha analizar bien sessions...


Saludos
Dedalo


--------------------
Go to the top of the page
 
+Quote Post
siam
mensaje Jan 24 2010, 01:54 AM
Publicado: #8


Newbie
Ícono de Grupo

Grupo: Miembro
Edad: N/A
Temas por día: 0.01
Mensajes: 1
Hora local: Jul 31 2010, 11:32 AM
Registrado: 24-January 10
Miembro No.: 424



Puedes probar con este captcha que es gratuito y no pone publicidad. Esta en ingles pero es facil de configurar y puedes adaptarlo a tu pagina como quieras.

www.icaptcha.com

Un saludo.
Go to the top of the page
 
+Quote Post
hdstryOwrld
mensaje Jan 24 2010, 02:00 AM
Publicado: #9


Administrador
Ícono de Grupo

Grupo: VIP
Edad: 20
Temas por día: 0.37
Mensajes: 353
Hora local: Jul 31 2010, 06:32 AM
Registrado: 26-December 07
Desde: México
Miembro No.: 1



CITA(siam @ Jan 23 2010, 07:54 PM) *
Puedes probar con este captcha que es gratuito y no pone publicidad. Esta en ingles pero es facil de configurar y puedes adaptarlo a tu pagina como quieras.

www.icaptcha.com

Un saludo.


Si o con el recapctcha que además tiene la cualidad de ser muy bonito pero ese de icapcha no lo conozco lo voy a mirar gracias por la recomendacion siam, aqui yo dejo el link de instalación de recaptcha http://www.codebit.org/index.php?showtopic...0&#entry881


--------------------
Contáctanos: staff@codebit.org
Soporte: support@codebit.org

Aprendiendo a usar el foro
Pagina de inicio

Go to the top of the page
 
+Quote Post
p3ll3
mensaje Feb 21 2010, 09:34 PM
Publicado: #10


Newbie
Ícono de Grupo

Grupo: Miembro
Edad: 21
Temas por día: 0.00
Mensajes: 3
Hora local: Jul 31 2010, 06:32 AM
Registrado: 16-June 08
Desde: Costa Rica
Miembro No.: 96



Muy buena informacion muchas gracias !!



Saludos...........ph34r.gif


--------------------



Hackers are always pushing the boundaries, investigating the unknown, and evolving their art.
Go to the top of the page
 
+Quote Post

Fast ReplyReply to this topicStart new topic
1 usuario(s) está(n) leyendo esta discusión (1 invitado(s) y 0 usuario(s) anónimo(s))
0 miembro(s):

 

Versión Lo-Fi Fecha y Hora actual: 31st July 2010 - 11:32 AM