Я заметил, что Rails 2.2 (в настоящее время Edge) поддерживает установка HttpOnly для файла cookie сеанса.
Есть ли способ установить его в приложении Rails 2.1, не переходя на edge/2.2?
Я заметил, что Rails 2.2 (в настоящее время Edge) поддерживает установка HttpOnly для файла cookie сеанса.
Есть ли способ установить его в приложении Rails 2.1, не переходя на edge/2.2?
Ну, это не поддерживается, как вы заметили, но вы, конечно, можете monkey-patch Rails делать то, что вы хотите. На самом деле, разница между прямым патчем Rails и обезьяньим патчем в этом случае очень мала, так как любой из них будет удален/возвращен при обновлении до 2.2.
В обоих случаях вы должны смотреть на этот примененный diff как на руководство по исправлению 2.1 самостоятельно - либо путем непосредственного применения исправления (по модулю любых различий 2.1/края), либо путем повторного открытия этих классов из вашего собственного кода после загрузки среды, чтобы применить изменения.
Я написал обезьяний патч, чтобы добавить эту поддержку в Rails 2.1 из патча для Rails 2.2.
Я не тестировал ничего, кроме Rails 2.1, и ваш пробег может отличаться!
Установите для параметра http_only
значение true в хеше параметров файла cookie:
cookies['visits'] = { :value => '20', :http_only => true }