2008-09-16 3 views

ответ

29

Установите параметр «http_only» в хэш используется для установки куки

например,

cookies["user_name"] = { :value => "david", :httponly => true }

, или, в Rails 2:

например,

cookies["user_name"] = { :value => "david", :http_only => true }

+7

Heads up - in rails 3 `: http_only` опция была переименована в`: httponly` – WTK 2012-01-25 09:06:56

6

Просто установите: http_only в true, как описано в changelog.

1

Я также написал патч, который включен в Rails 2.2, который по умолчанию считает сессию CookieStore http_only.

К сожалению, cookie сеанса по-прежнему по-прежнему является обычным куки-файлом по умолчанию.

11

ответ Re Лори:

Обратите внимание, что вариант был переименован из :http_only в :httponly (без подчеркивания) в какой-то момент.

В пакете actionpack 3.0.0, то есть Ruby on Rails 3, все ссылки на :http_only исчезли.

Это меня бросило на некоторое время.

2

Если у вас есть файл config/session_store.rb, включающий эту строку (Rails 3+), то он автоматически устанавливается уже. config/initializers/session_store.rb:

# Be sure to restart your server when you modify this file. 
Rails.application.config.session_store :cookie_store, key: "_my_application_session" 

рельсы также позволяет установить следующие клавиши:

: истекает - Время, в котором истекает это печенье, как объект времени.

: обеспечение - ли это печенье передается только на HTTPS-серверы. Значение по умолчанию - false.

Смежные вопросы