¿Cómo puedo configurar el HttpOnly bandera en una cookie en Ruby on Rails
-
09-06-2019 - |
Pregunta
La página La Protección De Las Cookies:HttpOnly explica por qué los HttpOnly "cookies" es una buena idea.
¿Cómo se establece esta propiedad en Ruby on Rails?
Solución
Establecer el 'http_only' opción en el hash se utiliza para establecer una cookie
por ejemplo,
cookies["user_name"] = { :value => "david", :httponly => true }
o, en Rails 2:
por ejemplo,
cookies["user_name"] = { :value => "david", :http_only => true }
Otros consejos
Re Laurie respuesta:
Tenga en cuenta que la opción fue rebautizado con el nombre de :http_only
a :httponly
(sin subrayado) en algún momento.
En actionpack 3.0.0, que es, Ruby on Rails 3, todas las referencias a :http_only
se han ido.
Que tiró de mí por un tiempo.
Acaba de establecer :http_only a cierto como se describe en el changelog.
Si tienes un archivo llamado config/session_store.rb incluyendo esta línea (Rails 3+), se establece automáticamente ya.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"
También rails permite establecer las siguientes teclas:
:caduca - La hora a la que esta cookie caduca, como un Tiempo objeto.
:seguro - Si esta cookie sólo se transmite a los servidores HTTPS.El valor predeterminado es false.
También escribí un parche que se incluye en Rails 2.2, que es la CookieStore sesión http_only.
Por desgracia, las cookies de sesión son todavía por defecto las cookies normales.