Wie stelle ich die Httponly-Flagge auf einem Cookie in Ruby on Rails
-
09-06-2019 - |
Frage
Die Seite Schützen Sie Ihre Cookies: Httponly erklärt, warum Httponly-Cookies machen eine gute Idee ist.
Wie kann ich diese Eigenschaft in Ruby on Rails?
Lösung
Stellen Sie das 'http_only' Option in der Hash verwendet, um ein Cookie zu setzen
z.
cookies["user_name"] = { :value => "david", :httponly => true }
oder, in Rails 2:
z.
cookies["user_name"] = { :value => "david", :http_only => true }
Andere Tipps
Re Laurie Antwort:
Beachten Sie, dass die Option von :http_only
umbenannt wurde :httponly
(ohne Unterstrich) an einem gewissen Punkt.
In Action 3.0.0, das heißt, Ruby on Rails 3, alle Verweise auf :http_only
verschwunden sind.
, das warf mich für eine Weile.
Just gesetzt. Http_only auf true, wie beschrieben in der Changelog
Wenn Sie eine Datei mit dem Namen config / session_store.rb einschließlich dieser Linie (Rails 3 +) haben, dann ist es bereits automatisch eingestellt.
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"
Auch Schienen können Sie die folgenden Tasten eingestellt werden:
. Gültig bis - Die Zeit, zu der dieses Cookie, als Time-Objekt abläuft
: secure - Ob das Cookie wird nur auf HTTPS-Server übertragen werden. Die Standardeinstellung ist false.
Ich schrieb auch einen Patch, der in Rails 2.2 enthalten ist, die Standardwerte der CookieStore Sitzung http_only sein.
Leider sind Session-Cookies immer noch standardmäßig reguläre Cookies.