• Domingo 17 de Noviembre de 2024, 19:46

Autor Tema:  Re: Http://pagina.php?codigo=...  (Leído 3010 veces)

5erg10

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Http://pagina.php?codigo=...
« en: Miércoles 16 de Marzo de 2005, 19:26 »
0
Nas a tod@s

Ando haciendo una página en PHP para un trabajo, y en la parte de registro de usuarios quiero meter éso de reconocer una palabra escrita en una imagen para asegurame de que sea una persona y no un script el que se registra.

Bueno, pues tengo un formulario en el que el usuario deberá escribir la palabra que está "oculta" en la imagen, y aparte tengo la palabra generada aleatoriamente que hay que reconocer (la que está oculta en la imagen).

La palabra que el usuario escribe, la paso por un formulario, así que en la página destino la recojo con $_POST['Codigo'], y la otra la paso por url, de forma que en la página origen tengo algo así como echo "<FORM METHOD=\"POST\" ACTION=\"Comprobar_codigo_imagen.php?Codigo=$CodigoImagen\">" ... y en la página destino la recojo con $HTTP_GET_VARS["Codigo"].

Bueno, pues mi problema es el siguiente. Si lo hago de esta forma, yo veo el codigo fuente del archivo html generado, y si la palabra secreta por ejemplo es hy5md, en el codigo fuente me aparece <FORM METHOD="POST" ACTION="Comprobar_codigo_imagen.php?Codigo=hy5md"> por lo que entiendo que no he conseguido nada, ya que un script que lea el codigo html me puede facilmente conseguir ver la palabra "oculta".

Entonces lo que yo quiero saber es como solucionar ésto. Se me ha ocurrido que puedo encriptar la palabra antes de pasarla por el enlace, y desencriptarla en la página destino, pero no sé si es así como suele hacerse ésto, o si existen funciones predefinidas en PHP o librerías para conseguirlo. ¿alguien me echa una mano? Gracias por adelantado.
Welcome to the Jungle

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Http://pagina.php?codigo=...
« Respuesta #1 en: Jueves 17 de Marzo de 2005, 02:16 »
0
Hola que tal.

Eso que dices de encriptar la palabra y luego desencriptarla tampoco funciona, ya que si te das cuenta es lo mismo.

No se si en php exista algo para solucionar eso, pero podrias almacenar esa palabra en una variable, y cuando se envie el formulario, recuperar esa variable, aunque creo que al hacer esto,  el valor de la variable lo vez en donde esta la direccion, asi que en este caso si tendrias que encriptar la palabra.

Si sabes como hacerlo, te recomiendo que lo hagas de esta forma, y si sabes lo puedes buscar en la red, hay muchos ejemplos o te puedo dar un ejemplosi es que no lo encuentras, solo avisame. O puedes esperar a que alguien te de otra solcion.

Hasta luego.

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Http://pagina.php?codigo=...
« Respuesta #2 en: Jueves 17 de Marzo de 2005, 05:45 »
0
Citar
Se me ha ocurrido que puedo encriptar la palabra antes de pasarla por el enlace, y desencriptarla en la página destino, pero no sé si es así como suele hacerse ésto, o si existen funciones predefinidas en PHP o librerías para conseguirlo. ¿alguien me echa una mano? Gracias por adelantado.

En realidad, lo que tendrías que hacer, es encriptar ambas claves por separado.....Así puedes compararlas con total seguridad  B)

Puedes utilizar la función hash MD5, que no puede desencriptar.

Saludos,

Blag  :hola:

5erg10

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Http://pagina.php?codigo=...
« Respuesta #3 en: Jueves 17 de Marzo de 2005, 18:33 »
0
Ah, pues sí, no se me había ocurrido lo de encriptar las dos y luego compararlas, muchas gracias por la idea Blag :smartass:

Gracias a tí también por el consejo fuhrer, el problema es que aparte de pasando variables por URL o por formularios, no sé más formas de acceder a una variable que esté en otro fichero del código :S
Welcome to the Jungle

andresadoc

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Http://pagina.php?codigo=...
« Respuesta #4 en: Viernes 18 de Marzo de 2005, 15:56 »
0
No, no es aconsejable usar la funcion md5() ya q como ud bien dice, es una funcion no reversible, asi q si encripta algo con esta funcion no lo podria desencriptar despues. Yo no se, me parece q se esta complicando (o yo no entiendo bien lo q quiere hacer). Pero sugiero q lo haga con una variable de session y asi se evita todos esos problemas.
Andrés

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Http://pagina.php?codigo=...
« Respuesta #5 en: Viernes 18 de Marzo de 2005, 16:13 »
0
Citar
No, no es aconsejable usar la funcion md5() ya q como ud bien dice, es una funcion no reversible, asi q si encripta algo con esta funcion no lo podria desencriptar despues.

 :huh:  Pues esa es la idea......La seguridad......Al no se desencriptable......no hay problemas de hackeo.....Por lo menos, yo siempre lo he trabajado así y nunca he tenido problemas......Aunque claro.....Podrías hacer tu propio algoritmo de encriptación y problema solucionado  :lol:

Saludos,

Blag  :devil: