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.