#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 затрудняют вмешательство (или, по крайней мере, обнаруживаются), но вы по-прежнему ограничены размером.