Antes que nada quiero aclarar un par de cosas que obviamente desde que armé el primero me di cuenta.
- El array de caracteres posibles no contiene el abecedario completo, sino una lista reducida para evitar las confusiones comunes (ej: O/0 I/l ...)
- La manera de definir el array de caracteres se puede simplificar a una linea (explico abajo).
- Odiaba los clases y ahora seguramente lo solucionaría de otra manera.
- Alguien una vez me dijo que la mejor seguridad no es la cerradura mas difícil de abrir sino la mas difícil de encontrar. Por lo que antes de recurrir a algo que alguien armó y es super bueno prefiero armar algo nuevo que no cuadra con los estandares establecidos por los spamers (ya que no vale la pena molestarse para crackear el captcha).
Hay varias maneras de definir un array y todo depende de para que lo quiere uno.
Código PHP:
$leter[]="A"; //este sistema facilita mucho la lectura
$leter[]="B";
$leter[]="C";
$leter[]="D";
$leter[]="E";
$leter[]="F";
/////////////////////////////////////////////////////
range();// podemos hacer mucho con esta funcion... consulten www.php.net/range
//Como muchos saben php hereda muchas cosas de C por lo que los strings pueden ser tratados como matrices de caracteres.
$leter="ABCDEF";// esto se puede tratar de la misma manera que el primer ejemplo.
// teniendo en cuenta esto podemos usarlo para validarlo ya que no necesitamos
//poner --- entre cada caracter. Podemos hacer referencia mediante:
$text = $HTTP_SESSION_VARS[text];
$text[2];// esto corresponde al 3er caracter del string.
//Bueno, tambien tenemos la manera tradicional:
$leter = array("A", "B", "C"); //personalmente no me gusta esta manera.
Cita:
Iniciado por okram
Mmmm... creo que ese script es muy util como anti-bot, pero tambien como anti-human... Premio al que decifre que dice aqui:
Debes estar cometiendo algún error en la función que inserta los textos... Revisa que las fuentes que usas estén en los sitios correctos.
Un saludo,

Eso es muy importante... Sin los textos en los lugares correctos no podemos hacer nada....
Cita:
Iniciado por pragone
Hola, la imagen del Captcha está bastante bien. Si no temes a un spammer avanzado que se de el trabajo de crear un sistema especial para tu captcha.
Solo tengo dos recomendaciones:
1.- Que los círculos del fondo no tengan siempre la misma separación. Eso hace que sea relativamente fácil eliminar el ruido que provocan y quedar con una imagen bastante limpia para hacer OCR
2.- Buscaría hacer que las letras se solaparan un poco, al tenerlas separadas haces que la fase de identificación de ejes (el primer paso para romper un Captcha luego de quitar el ruido) sea sencilla... pero si se tocan siquiera, se complica considerablemente.
Pero esto es si quieres ser "exquisito", si no, está genial. Excelente CAPTCHA... por cierto, ¿está libre para copia con crédito a ti? estaría bien que lo colocaras en un archivo con una licencia tipo LGPL y lo distribuyeras.
Saludos
Es una buena idea... y la voy a tener en cuenta, pero creo que mas que mostrarlo en forosdelweb no da para mucho mas esto ya que la idea es hacer algo diferente.
Cita:
Iniciado por Tombar
En lo personal he roto algunos captchas por hobby y voy a intentarlo con este tambien en cuanto tenga una o dos tardes libres :P
Quiero aportar 2 cosas a partir de mis experiencias.
1 - El mayor error de los captchas no esta en la imagen sino en como pasan del captcha a php el codigo correcto para validarlo luego. En general es mas eficiente decifrar esto una ves y meterlo a una BD en muchos casos que hacer ocr en cada captcha.
2 - Estas re-inventando la rueda :)
Bolilla Xtra - No joder al usuario tampoco, como el caso de los indecifrables gatitos de rapidshare (al menos yo no logro hacerlo bien)
No pretendo ofender con mi comentario en lo absoluto, sino aportar la vision del otro lado del problema :P piensen del lado del que le interesa romper el captcha un momento las formas y metodos que usarian para decifrarlo :P
Mi idea es un poco re-inventar la rueda para no caer en el muy conocido captcha que cualquiera pasa por arriba.
Los gatitos son malos sobre las letras, por que hay un perro que parece gato y siempre me lo confundo.
Bueno, pronto cuando tenga un poco de tiempo prometo volver a armar esto y darle un par de vueltas mas de tuerca para hacerlo en menos de 10 lineas (o algo asi que sea corto...)
Gracias a todos por sus comentarios y aportes...