Bueno basicamente es lo que ya estoy haciendo , solo que utilizo en vez de id de usuario su propia Email que es la clave de la tabla usuarios de mi Bd. Lo que no entiendo bien es lo de encriptar los datos con md5, eso yo lo uso para la contraseña de usuario al registrarse y un valor de status 0 cuando se registra y 1 cuando confirma haciendo clic en el link del email robot (haciendo update etc etc). Pero el tema de la encriptación es lo que me pierde.
He editado mi respuesta porque he seguido probando varias formas y te respondo a varias cuestiones que en principio he planteado. Primeramente no se realmente la utilidad que tiene Md5 si dejamos a un lado que pueddan entrar en la Bd y copiar contraseñas y mails , te digo esto porque no entiendo la diferencia que habría entre hacer
http://[email protected] o esto otro
http://www.miweb?user=00654521323423423 (código obtenido tras hacer ) md5($email), digo que no veo la diferencia porque según dices tú literalmente
"En los casos que vez URL con muchos caracteres es porque normalmente se construyen URL donde cualquier usuario no pueda llegar navegando y los parametros que se pasan en ella estan encriptados con MD5 o base64_encode ... existen otras formas.
"
¿De verdad que no pueden llegar navegando si se hace con Md5¿ ¿porque? ¿no es lo mismo pegar en el navegador la url con ?user=$email que la de ?user=23423sdfsdfstg23 (md5)?? , la verdad no veo la diferencia. Lo que se creo sería buena idea sería un sistema que permita esta validación una y solo una vez para evitar ataques tipo consultas múltiples a la Bd.
Un saludo y gracias