Вы можете сделать это, как указано в некоторых из приведенных выше ответов (используйте параметр secure
в файле config/initializers/session_store.rb
):
MyApp::Application.config.session_store :cookie_store, key: '_my_app_session',
secure: Rails.env.production?
который защитит только файл cookie сеанса, но другие файлы cookie не будут защищены.
Если вы хотите защитить все файлы cookie в своем приложении Rails по умолчанию, вы можете использовать гем secure_headers. Просто добавьте гем secure_headers
в свой Gemfile, гем bundle install
и создайте файл config/initializers/secure_headers.rb
со следующим содержимым:
SecureHeaders::Configuration.default do |config|
config.cookies = {
secure: true, # mark all cookies as "Secure"
}
end
Это сделает все файлы cookie безопасными в вашем приложении Rails по умолчанию.
Вы также можете добавить эти рекомендуемые конфигурации и установить параметры httponly
и samesite
:
SecureHeaders::Configuration.default do |config|
config.cookies = {
secure: true, # mark all cookies as "Secure"
httponly: true, # mark all cookies as "HttpOnly"
samesite: {
lax: true # mark all cookies as SameSite=lax
}
}
end
person
K M Rakibul Islam
schedule
07.08.2020