Есть несколько способов, которыми это может работать.
Первым было бы зашифровать строку запроса в какой-то момент, на ум приходит mcrypt, который прилично поддерживается кроссплатформенным, это зависит от человека, не ломающего вашу соль / ключевую фразу, это можно смягчить путем частой замены соли. Другой проблемой, с которой вы столкнулись, является ответная атака, когда кто-то копирует и вставляет URL-адрес одного пользователя в другой браузер, по сути копируя запрос. Этого можно избежать, используя datetime в URL вместе с одноразовым токеном, который нельзя использовать повторно.
Другим способом будет обмен данными между двумя серверами, когда вы отправляете пользователя с одного сайта на другой, вы отправляете данные (с уникальным токеном / guid) через протокол связи сервера каким-либо образом (SOAP, REST, что-то сделано), а затем просто дать пользователю маркер для передачи.
Если веб-сайт не является внутренним, вам всегда следует избегать блокировки по IP-адресу, многие пользователи имеют несколько IP-адресов и используют различные правила для распределения данных по IP-адресам, чтобы они могли изменять промежуточный запрос, и даже для некоторых крупных интернет-провайдеров (AOL). будучи единым целым) заставляет пользователей через прокси, которые имеют несколько конечных точек и разные адреса.
Последний вариант - иметь общее хранилище данных, то есть базу данных, с которой оба веб-сервера могут «общаться» для запроса информации о пользователях. Это проще сделать, если они находятся в одном домене, поэтому вы можете установить cookie-файл сеанса, который работает на обоих сайтах, если нет, то вам нужно вернуться к уникальному токену, который передается.