Хранение данных, если куки отключены в браузере - PullRequest
1 голос
/ 01 сентября 2011

Я использую Rails 3 для своего сайта. У меня есть случаи, когда пользователи моего сайта блокировали мой сайт для хранения данных cookie в их браузере.

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

Поскольку пользователи отключили файлы cookie для моего сайта, я выбрал: active_record_store для: session_store. Даже после этого я не могу успешно сохранять и извлекать значения из сеанса []

Cart::Application.config.session_store :active_record_store, :key => '_cart_session', :domain => :all

что я могу сделать, чтобы сохранить значения в сессии [] в этих случаях. пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Если куки отключены, вы не можете использовать сессии, потому что идентификатор сессии передается с помощью куки.

Вы можете попытаться передать идентификатор сеанса другими способами - например, в PHP есть параметр, добавляемый к каждой форме и ссылке: PHPSESSIONID. Вы можете использовать ту же технику, и ваши ссылки будут выглядеть так:

<a href="/users/1?session_id=12345">

Rails не позволит вам использовать сеансы без куки , но я уверен, что написать его самостоятельно не будет слишком сложно. Только не забудьте учесть последствия раскрытия идентификатора сеанса для безопасности!

Если вас интересует способ обработки сессий в PHP, вы можете ознакомиться с документацией по сессиям PHP и двумя вопросами: " Как работают сессии PHP, когда куки отключены ?" и " работают ли сеансы, когда куки отключены?".

0 голосов
/ 01 сентября 2011

Вы можете

  1. Создать уникальный код для каждого пользователя и изменить все ссылки и формы , чтобы включить его.

  2. Храните пользовательских данных в вашей базе данных вместе с этим уникальным кодом для персонализации.

  3. Когда пользовательский запрос приходит вместе с этим уникальным кодом , примените персонализацию.

Вы не можете назначить уникальный код для каждого IP-адреса, так какмногие пользователи используют один и тот же IP-адрес, или их IP-адрес может часто меняться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...