Rails способ хранения данных на клиенте в течение длительных периодов

#ruby-on-rails #ruby-on-rails-3 #cookies #session-cookies

#ruby-on-rails #ruby-on-rails-3 #файлы cookie #сессия-cookies

Вопрос:

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

Как вы обычно решаете эту проблему с постоянным идентификатором пользователя между сеансами.

Ответ №1:

Ознакомьтесь с этими ссылками, они могут помочь вам разобраться в обработке файлов cookie:

http://m.onkey.org/signed-and-permanent-cookies-in-rails-3

http://www.quarkruby.com/2007/10/21/sessions-and-cookies-in-ruby-on-rails

http://www.tutorialspoint.com/ruby-on-rails/rails-session-cookies.htm

Ответ №2:

Вы обрабатываете постоянного пользователя с помощью cookie-файла, но вы довольно ограничены в том, сколько данных вы можете хранить в cookie (4K?).

Большие сеансы должны храниться в базе данных. Некоторые браузеры поддерживают локальное хранилище (HTML5), которое также может быть опцией.

Если вы хотите гарантировать, что они не могут быть изменены вне вашего приложения, вам следует сохранить их на стороне сервера в базе данных. Подписанные файлы cookie затрудняют вмешательство (или, по крайней мере, обнаруживаются), но вы по-прежнему ограничены размером.