En principio . . podrías encriptar tus variables con tus própios algorítmos o bien usando algunos standards como:
http://tr.php.net/manual/en/function.crypt.php .. Pero si haces eso, .. en un script debes generar ese link (con su "semilla" adecuada) y en otro (en el que lo recibas) lo des-encriptaras (con la misma "semilla" que usastes).
En resumen .. si te preocupa el paso de variables entre un script a otro por el URL .. lo que deberías es NO pasarlas por el URL .. para eso, usa sesiones (
www.php.net/session). Defines tus variables en script A y las usas en B. De "A" a "B" pasas con un redireccionamiento simple (sin pasar las variables en el URL).
Ahora . .si tu tienes que generar un link tipo:
http://localhost/datos.php?codigo=valor&nombre=mauricio
si o si (por qué lo usas tipo "mostrar detalle") .. y te preocupa que te alteren el dato del "nombre" por ejemplo y pase alguna validación por ejemplo "javascript" que pudieras tener .. Entonces -valida- en PHP en tu script PHP, el "como" tendrás que hacerlo dependerá de que signifiquen esos datos para ese script y que hacer con ellos en el contexto de la aplicación. (si especificas . .podríamos ver soluciones al tema).
Un saludo,