Правильный ответ на этот вопрос - НЕТ. Использование любой комбинации переменных, кроме файла cookie, небезопасно.
Подумайте об этом: когда пользователь FIRST запрашивает страницу, сервер отправляет страницу вместе с уникальным значением, говорящим «HTTP не имеет состояния, сохраняйте это, чтобы я знал, что это« вы »при следующем вызове». Это означает, что этот человек в этом браузере (независимо от вкладки), работающем в то время, имеет уникальный токен.
Если и только если они успешно вошли в систему, этот токен теперь может быть привязан к сеансу на стороне сервера. Токены должны быть такими длинными и случайными, чтобы никто не мог угадать их за один раз.
Несколько браузеров могут использовать один и тот же IP-адрес. У нескольких людей может быть ТОЧНО один и тот же пользовательский агент. Cookie - единственная система хранения, которая работает.
На самом деле есть еще один способ - добавить уникальный токен к каждой отдельной ссылке на сервер , а также все вызовы AJAX, такие как ?PHPSESSID=my-unique-token-189481958
- но это неудобно для кода.