Для аутентификации пользователя мой клиент перенаправляется на сервер и получает пользовательские данные, и я сохраняю их в собственном сеансе php на стороне клиента. В этом процессе сервер перенаправляет обратно на тот же запрошенный URL-адрес, поэтому, если в ответ нет данных, на стороне клиента не будет сеанса, и мой скрипт завершится циклом перенаправления, поскольку есть проверка для перенаправления на сервер, только если сеанс не найден .
Теперь, чтобы избежать такого случая, я создаю случайный сеанс после первого потока, используя функцию uniqid('prefix_'). Но если кто-то обновит страницу, запрос должен снова отправиться на сервер для аутентификации.
Для этого я проверяю значение файла cookie сеанса. Если cookie имеет заданный мной префикс (указанный в uniqid), то это недействительный сеанс и перенаправление на сервер. Я хочу знать, насколько надежен этот вариант? Есть ли у меня другое решение?
Обновление: вот как выглядит моя функция validSession:
public function validSession() {
if ($sessionCookie !== null && substr($sessionCookie,0,7) !== 'prefix_')
return true;
return false;
}
Поэтому, если cookie сеанса содержит префикс, который использовался для создания случайного сеанса в случае отсутствия данных с сервера, эта функция вернет мне false, и я решу перенаправить на сервер для пользовательского сеанса.