Как заставить модуль Devise Rememberable использовать http_only для файла cookie Запомнить? - PullRequest
1 голос
/ 17 декабря 2010

Файл cookie сеанса rails по умолчанию равен HttpOnly, но файл cookie remember_user_token, установленный модулем Devise Rememberable, не установлен.

Насколько я понимаю, этот файл cookie при отправке приведет к тому, что пользователю будет выдан новыйcookie сеанса, так что, безусловно, он так же уязвим для XSS.

Так есть ли способ установить его на HttpOnly?

1 Ответ

2 голосов
/ 21 декабря 2010

С помощью @camonz на #rubyonrails я придумал этот патч для обезьян: https://gist.github.com/749289

В Devise 1.1.3 параметры cookie жестко закодированы, поэтому я думаю, что патч для обезьян - это все, что я буду работать.

Однако Devise 1.2rc выглядит так, как будто он позволяет конфигурацию, потому что он загружает resource.cookie_options (например, извлекает cookie_options из модели User, так что вы должны быть в состоянии установить его там каким-то образом - не предполагал, чтопока нет).

PS Я еще не разобрался, как это проверить.Чтобы вручную выполнить тестирование в Chrome, перейдите на вкладку «cookie», откройте «Инструменты разработчика» с помощью Alt + Cmd + I, перейдите на вкладку «Хранилище», щелкните элемент в разделе «Cookies» (в моем случае localhost) и посмотрите на HTTP.колонка.Там будет галочка, если печенье HttpOnly.Для справки: cookie сеанса rails, по умолчанию называемый _session_id, по умолчанию имеет значение HttpOnly.

...