Какая альтернатива cookie?

  • Автор темы Автор темы Den1xxx
  • Дата начала Дата начала

Den1xxx

Разрушитель (V)
Сообщения
135
Реакции
71
Баллы
1 084
Здравствуйте.
Сейчас, когда надо что-то запомнить на клиенте, применяю cookie. Однако это не всегда удобно.
Например, мне надо открыть несколько окон из-под одного аккаунта, но с разными настройками.
Как запоминать, типа как сессии? Передавать через get или post не удобно — придётся параметр сессии в каждую форму добавлять.
А какая альтернатива?
 
Здравствуйте.
Сейчас, когда надо что-то запомнить на клиенте, применяю cookie. Однако это не всегда удобно.
Например, мне надо открыть несколько окон из-под одного аккаунта, но с разными настройками.
Как запоминать, типа как сессии? Передавать через get или post не удобно — придётся параметр сессии в каждую форму добавлять.
А какая альтернатива?
Ответ нейросети:

Для управления сессиями веб-приложений без использования cookies или передачи параметров через GET или POST запросы, вы можете рассмотреть использование токенов сессий или JSON Web Tokens (JWT). Вот как это работает:

Токены сессий и JSON Web Tokens (JWT):
Токены сессий:

После того как пользователь аутентифицирован, сервер создает уникальный и случайный токен сессии для этого пользователя.
Токен сессии сохраняется на сервере.
Этот токен отправляется клиенту (например, в ответе на успешную аутентификацию) и хранится в памяти или локальном хранилище (например, в sessionStorage или localStorage в браузере).
Каждый раз, когда клиент отправляет запрос, он включает этот токен в заголовке запроса. Сервер проверяет этот токен и разрешает доступ к ресурсам.
JSON Web Tokens (JWT):

JWT - это стандартный способ представления утверждений между двумя сторонами.
Когда пользователь успешно аутентифицирован, сервер создает JWT, который содержит информацию о пользователе и другие утверждения.
JWT подписывается сервером, чтобы удостовериться в его целостности и подлинности.
Клиент сохраняет JWT и включает его в заголовок каждого запроса.
Сервер проверяет подпись JWT и использует информацию в нем для аутентификации пользователя.
Преимущества использования токенов сессий или JWT:
Без состояния (stateless): Оба метода не требуют хранения сессионной информации на сервере, что делает приложение более масштабируемым.

Гибкость: Вы можете добавлять пользовательские данные в токены сессий или JWT, что позволяет передавать дополнительную информацию о сеансе или пользователе.

Безопасность: Правильно настроенные и подписанные JWT обеспечивают безопасность данных и авторизацию.

Удобство: Токены могут храниться в памяти клиента и автоматически включаться в каждый запрос без необходимости добавлять их вручную в каждую форму.

Однако помните, что безопасность всегда должна быть на первом месте. При использовании токенов сессий или JWT убедитесь, что вы правильно настроили их подпись и шифрование (если необходимо), чтобы предотвратить подделку токенов или доступ к конфиденциальной информации.
 
Сессии, можно идентификатор сессии передавать в урле с гетзапросом:

PHP:
session_id($_GET['sid']);
session_start();
 
Здравствуйте.
Сейчас, когда надо что-то запомнить на клиенте, применяю cookie. Однако это не всегда удобно.
Например, мне надо открыть несколько окон из-под одного аккаунта, но с разными настройками.
Как запоминать, типа как сессии? Передавать через get или post не удобно — придётся параметр сессии в каждую форму добавлять.
А какая альтернатива?
Можно использовать Web Storage API. Он включает localStorage для постоянного хранения данных и sessionStorage для данных, которые живут только в рамках одной вкладки. Это удобно, когда нужно работать с несколькими окнами с разными настройками под одним аккаунтом. Данные хранятся локально, их можно быстро получить и они не улетают на сервер с каждым запросом. А для сложных случаев можно глянуть в сторону IndexedDB или Service Workers.
 
Здравствуйте.
Сейчас, когда надо что-то запомнить на клиенте, применяю cookie. Однако это не всегда удобно.
Например, мне надо открыть несколько окон из-под одного аккаунта, но с разными настройками.
Как запоминать, типа как сессии? Передавать через get или post не удобно — придётся параметр сессии в каждую форму добавлять.
А какая альтернатива?
И интересно какой способ Вы выбрали. Только что заметил, что вопросу пол года. Навярняка уже решили свою задачу
 
И интересно какой способ Вы выбрали. Только что заметил, что вопросу пол года. Навярняка уже решили свою задачу
Ничего не выбрал. Главная проблема - как сделать так, чтобы авторизация работала в разных окнах одного пользователя под разными логинами?
Или например - в одно приложении пользователь, но запомнено состояние в одной вкладке - одно, во второй - другое.
Как у Гугл таблиц получается - в разных вкладках разные пользователи. Права их работают корректно.
 
Ничего не выбрал. Главная проблема - как сделать так, чтобы авторизация работала в разных окнах одного пользователя под разными логинами?
Или например - в одно приложении пользователь, но запомнено состояние в одной вкладке - одно, во второй - другое.
Как у Гугл таблиц получается - в разных вкладках разные пользователи. Права их работают корректно.
Насколько я знаю sessionStorage как раз таки и может решить Вашу задачу. С ним можно сохранять разные данные во вкладках
 
Назад
Верх