la cadena no la mando codificada, no pensaba que eso marcara algún tipo de diferencia ya que es una cadena aleatoria que se genera y destruye al momento intentaré explicarme mejor a ver si..
login en primera web
comprobacion de usuario/contraseña
si la comprobacion es valida-> se genera y almacena un timestamp y un array y se redirige al usuario al segundo sitio asi
https://www.sitio2.com/34/oihj32b3n2...b23hyu4ip23b4p
en el segundo sitio se compara que la cadena==$_GET['cadena'] y se mira que no hayan pasado mas de 10 segundos del timestamp generado en el login, si se cumplen esos 2 parametros se vuelve a alterar la cadena se le resta al timestamp 10 para que no funcione mas y se loguea con el 34 ya en el segundo sitio