Dans Ruby on Rails, comment définir le paramètre httpOnly du cookie de session sur false?Comment définir le paramètre HttpOnly du cookie de session sur false?
Répondre
J'ai compris cela. Dans /config/environment.rb
inclure ce code:
config.action_controller.session = { :httponly => false }
Pour quelle version de rails était-ce? J'essaye dans les rails 3, et obtiens l'erreur suivante: méthode non définie 'session = 'pour ActionController :: Base: Class –
@Peter Cela a été écrit avant RoR 3 pour la version 2.3. Il n'a pas été testé avec 3. – kingjeffrey
J'ai fait une solution de contournement, ici: http://stackoverflow.com/questions/8351871/session-cookie-httponly-false-rails-3-1/8371839#8371839 –
Voici comment je l'ai fait avec Rails 3:
Testapp::Application.config.session_store :cookie_store, key: '_testapp_session', :domain => :all, :httponly => false
Dans Rails 4, vous devez modifier config/initializers/session_store.rb
Rails.application.config.session_store :cookie_store,
key: '_my_app_session', httponly: false
Rails a il est défini par défaut sur true. Je ne recommande pas de le changer car il vous placera les cookies Accessable pour passer de JS comme: document.cookie
Dans Rails 3+ vous pouvez changer les cookies de configuration 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", httponly: false
PSA: ** Ne le faites pas en production **. Le drapeau 'httponly' est là pour la sécurité. Cela peut sembler signifier "non https", mais cela signifie en réalité "non disponible pour JavaScript". 'httponly' est compatible avec le flag' secure', ce qui signifie "envoyer uniquement des connexions https". Voir https://www.owasp.org/index.php/HttpOnly –