Как установить флаг HttpOnly для файла cookie в Ruby on Rails - PullRequest
30 голосов
/ 16 сентября 2008

Страница Защита ваших файлов cookie: HttpOnly объясняет, почему создание файлов cookie HttpOnly - хорошая идея.

Как мне установить это свойство в Ruby on Rails?

Ответы [ 5 ]

30 голосов
/ 16 сентября 2008

Установите опцию 'http_only' в хэше, используемом для установки cookie

например.

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

или, в Rails 2:

например.

cookies["user_name"] = { :value => "david", :http_only => true }
12 голосов
/ 17 декабря 2010

Ре Лори ответ:

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

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

Это меня немного отбросило.

6 голосов
/ 16 сентября 2008

Просто установите для http_only значение true, как описано в changelog .

3 голосов
/ 08 ноября 2016

Если у вас есть файл с именем 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"

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

: срок действия истекает - Время истечения срока действия этого файла cookie как объекта времени.

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

1 голос
/ 03 октября 2008

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

К сожалению, сессионные куки все еще по умолчанию являются обычными куки.

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