Foros del Web » Programando para Internet » PHP »

Alternativa Captcha

Estas en el tema de Alternativa Captcha en el foro de PHP en Foros del Web. Hola Pretendo realizar una alternativa al captcha en PHP (o en su defecto JS). Pero el dilema concreto es evitar que un bot utilice mi ...
  #1 (permalink)  
Antiguo 26/10/2011, 16:45
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Alternativa Captcha

Hola

Pretendo realizar una alternativa al captcha en PHP (o en su defecto JS). Pero el dilema concreto es evitar que un bot utilice mi formulario, ese es todo el problema, y he pensado en la siguiente solución, quizá algunos de UDS tengan experiancia al respecto y me alicen el camino!!!

Hacer una pregunta acerca de una operación matemática sencilla y que el usuario coloque en otro campo el resultado escrito en palabra, por ejemplo:

¿Cuánto es 2 x 3?
seis

No creo que un programa pueda descifrarlo, a no ser que use todas las posibilidades de respuesta, pero no me imagino cómo. ¿Podrá ser esta una solución segura, tanto como el Captcha y el Re-Captcha?

Gracias
  #2 (permalink)  
Antiguo 26/10/2011, 16:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

Es posible, si tu usas un sistema así y yo quiero romper dicha "seguridad" para mi es pan comido.

Esto porque la operación matemática es texto, y puede ser "comprendido" con expresiones regulares.

Sin embargo si en lugar de texto generas una imagen con el mismo dilema ahí si no podría hacer nada pues no se como leer texto de las imágenes.

Pero vamos, al final sería el mismo concepto que usar un Re-CAPTCHA (un sistema probado y confiable), no es necesario que re-inventes la rueda, no hace falta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/10/2011, 16:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Alternativa Captcha

Hola:

Después de recibir cientos de mensajes basura con mi captcha "artesanal" (no sabré nunca si lo descifraban robots...), dejé la imagen, pero el recuadro para el "código de seguridad" se debe rellenar con una palabra marcada en color de un párrafo. Dejaron de atacarme desde el cambio (siguieron con el spam, pero ya no colaron, hasta que me dejaron tranquilo al fin).

Puedes verlo en mi diario: El diario de Pepe Molina (Caricatos) (en el formulario para comentarios).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 26/10/2011, 16:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

@caricatos, no quiero adelantarme pero revisando la forma en que funciona tu sistema anti-spam casi puedo apostar que podría generarte spam sin chistar.

No es amenaza, pero como critica constructiva considero que no es un sistema tan fiable.

Si quieres podemos probar, tu no más me avisas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/10/2011, 17:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Bueno, la rueda ya se había inventado cuando inventaron las radiales jeje. Me refiero a que no dudo de que Recaptcha sea confiable y seguro, pero yo si pudiera hacer algo más sencillo y ágil para algunos usuarios lo haría. Copio y pego algo que acabo de leer y que más a mi favor, ya hay otros que sufren el mismo problema de incomodidad. Saludos y mil gracias por la respuesta.

...
cuando un visitante quiere agregar un comentario, se le presenta el formulario que ven al final de este artículo, donde debe ingresar Nombre, URL, e-mail y texto del comentario. Lo que el visitante no ve es un campo extra de texto, oculto por un simple atributo de CSS:

<div style="visibility: hidden;">
<p><input type="text" name="captcha" id="captcha" value="" tabindex=4 />
<label for="captcha"><small>No rellene este campo</small></label></p>
</div>
Como ven, todo lo que tenemos es un campo de texto. Gracias a la propiedad visibility: hidden los usuarios con navegadores mas o menos modernos no ven el campo, mientras que aquellos que navegan en sólo texto ven un campo que dice “No rellene este campo”. Ahora bien, ¿qué ve un bot de spam? Los bots no entienden nada de todo esto, todo lo que ven son campos de texto a rellenar, con una lógica mediana que les permita poner su basura en los campos correctos. Y es por eso que rellenan nombre, dirección, url, comentario, captcha… y el comentario es rechazado. Muy simple.
  #6 (permalink)  
Antiguo 26/10/2011, 17:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Alternativa Captcha

Hola:

Cita:
Iniciado por pateketrueke Ver Mensaje
@caricatos, no quiero adelantarme pero revisando la forma en que funciona tu sistema anti-spam casi puedo apostar que podría generarte spam sin chistar.

No es amenaza, pero como critica constructiva considero que no es un sistema tan fiable.

Si quieres podemos probar, tu no más me avisas.
Sé que no es muy fiable, pero crear un sistema que lo vulnere para mi web "únicamente", sería el mejor halago que podrían hacerme los spammers "reales"

La verdad es que me atacaron con spam en inglés, y para vulnerarlo, al menos deberían leer mi "Nota importante" en español

He pensado incluso que el código tenga una semilla aleatoria...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 26/10/2011, 17:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

@marianoggg

No es tan simple, me paso a explicar:

Ningún bot tiene inteligencia propia, esto quiere decir que para actuar necesita instrucciones de un programador; que dicho programador defina la secuencia de análisis del ataque, etc.

Si yo deseo atacar un sistema de comentarios protegido por un sistema Captcha-CSS lo primero que hago yo es analizar el sitio, examinar el sistema de comentarios y repetir dicho proceso al menos 10 veces mas.

Una ves defino que el sistema es predecible comienza la diversión, si se que dicho campo es intencionalmente invisible simplemente lo ignoro en mi programación deliberadamente.

¿Que impide al bot de spammear un sistema de comentarios?

Simple, la misma habilidad del programador.

En definitiva yo no usaría solo captchas, también control en el servidor como CSRF básicamente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 26/10/2011, 17:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Caricatos, no entiendo , escribiendo en vez del código "comentario" el usuario puede poner un comentario?

jaja no me parece muy elegante!!

parece muy rudimentario,, funciona?

Una de mis frase favoritas, que creo que es de mi autoría, es: NO siempre un problema grande tiene una solucion complicada.

Gracias
  #9 (permalink)  
Antiguo 26/10/2011, 17:52
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Bueno Pateketrueke, tu argumento se basa en que podés ver el código fuente. Si mal no entiendo cuando decis "Una ves defino que el sistema es predecible comienza la diversión, si se que dicho campo es intencionalmente invisible simplemente lo ignoro en mi programación deliberadamente.
"
Ese podría ser precisamente el problema. Quizá pueda haber alguna forma de ocultar el código al usuario-pícaro.

Atte.
  #10 (permalink)  
Antiguo 26/10/2011, 17:57
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Caricatos
Ahora veo que la palabra en color rojo va variando aleatoriamente. Incluso podría ser que el parrafó, que contiene dicha palabra llave, sea cambiante.

Atte.
  #11 (permalink)  
Antiguo 26/10/2011, 17:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

Podrías inyectar dicho DOM usando Javascript, si ofuscas el código mejor, etc.

Pero al final siempre habrá una manera de "descubrir" las vía de ataque, en Firefox por ejemplo, seleccionas el DOM y das "Ver código fuente de la selección". ¡Bingo!

Además podríamos desactivar Javascript en el navegador y a ver que pasa.

Así que en definitiva nada es 100% seguro.

Si el código finalmente es "visible" en el navegador es cuestión de tiempo deducir la respuesta, si agregas seguridad en el servidor es menos probable que alguien te ataque, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 26/10/2011, 18:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Cita:
Iniciado por pateketrueke Ver Mensaje
Podrías inyectar dicho DOM usando Javascript, si ofuscas el código mejor, etc.

Pero al final siempre habrá una manera de "descubrir" las vía de ataque, en Firefox por ejemplo, seleccionas el DOM y das "Ver código fuente de la selección". ¡Bingo!

Además podríamos desactivar Javascript en el navegador y a ver que pasa.

Así que en definitiva nada es 100% seguro.

Si el código finalmente es "visible" en el navegador es cuestión de tiempo deducir la respuesta, si agregas seguridad en el servidor es menos probable que alguien te ataque, etc.
"Agragar segurida del lado del servidor" esconde dos soluciones posibles, de las cuales una, directamente no es sencillo para alguien que hostea y no tiene acceso a los "engranajes" del servidor. Pero, php?
  #13 (permalink)  
Antiguo 26/10/2011, 18:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

No entendí tu comentario.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 26/10/2011, 18:12
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Podría generar con PHP el formulario, cada vez de una manera diferente, Si pensas analizar el código fuente para atacarlo, al menos por ese camino vas errado. Y ver el código PHP te sería imposible, a no ser que ataques el servidor.
  #15 (permalink)  
Antiguo 26/10/2011, 18:19
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Alternativa Captcha

Sólo pregunto, no soy un programador experto.
  #16 (permalink)  
Antiguo 26/10/2011, 18:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alternativa Captcha

Cita:
Iniciado por marianoggg Ver Mensaje
Podría generar con PHP el formulario, cada vez de una manera diferente, Si pensas analizar el código fuente para atacarlo, al menos por ese camino vas errado. Y ver el código PHP te sería imposible, a no ser que ataques el servidor.
Efectivamente.

Si la salida del DOM generada en el navegador no es predecible, entonces disminuyes drásticamente los posibles ataques "inteligentes" de los spammers.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 26/10/2011, 19:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Alternativa Captcha

Hola:

Cita:
Iniciado por marianoggg Ver Mensaje
Caricatos
Ahora veo que la palabra en color rojo va variando aleatoriamente. Incluso podría ser que el parrafó, que contiene dicha palabra llave, sea cambiante.

Atte.
En principio, el código es:

Código:
	$frase = explode(" ", "Estamos modificando el sistema de seguridad para el envío de comentarios debido al constante envío de spam que estamos bloqueando");
	do	{
		$posi_palabra = rand(0, count($frase));
		$pasa_palabra = $frase[$posi_palabra];
	}	while (strlen($pasa_palabra) < 3);
	$_SESSION["codigo_de_seguridad"] = $pasa_palabra;
	$frase[$posi_palabra] = "<span style=\"color: red\" >$pasa_palabra</span>";
	$frasesita = implode(" ", $frase);
También se podría cambiar la forma de resaltar la palabra, o tal como comentas, que esa frase sea aleatoria, o como comentaba anteriormente, que el captcha pueda ser esa palabra, o el captcha que sigue estando u otra alternativa.

Por cierto, he visto que haz hecho algunos intentos que ya he borrado... justamente fue una seguridad añadida por no permitir que se publiquen los mensajes directamente y sea yo quien lo haga desde mi sistema de administración del sitio; aunque limite de esa manera la intención de realizar comentarios.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: captcha, formulario, usuarios
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:32.