Yo opino que el metodo que expone JuanRAPerez te serviria.
En mi caso lo que hago es generar un código aleatorio que lo guarda tanto en la base de datos como en la cookie/sesion del usuario, y en cada página utilizo un include que me valida que sean iguales, si no existe la cookie/sesion, o el codigo aleatorio guardado en ellas es diferente al guardado en la base de datos lo devuelvo a la página desde la que se identifica que al conectarse de nuevo crea un nuevo codigo que se vuelve a guardar en ambos lados.
En caso de que no funcionen las cookies/sesiones, puedes crear en el include global a todas las páginas, una variable que guarda la cadena para poder recogerla mediante QueryString, algo así:
Código PHP:
Dim strCodQuery
Dim strCodQueryAnd
strCodQuery = "?CU=" & [I]La variable con el código aleatorio[/I]
strCodQueryAnd = "&CU=" & [I]La variable con el código aleatorio[/I]
Y dependiendo de si envias más de un valor, en todos los vínvulos pones una u otra variable
Si quieres rizar más el rizo, puedes utilizar una función que te encripte los valores tanto de las cookies/sesiones/querys como del codigo aleatorio.
Espero que te sirva