2008-09-16 32 views

Trả lời

29

Đặt tùy chọn 'http_only' trong băm được sử dụng để đặt cookie

ví dụ:

cookies["user_name"] = { :value => "david", :httponly => true }

hoặc, trong Rails 2:

ví dụ:

cookies["user_name"] = { :value => "david", :http_only => true }

+7

Đường lên - trong đường ray 3 ': tùy chọn http_only' được đổi tên thành': httponly' – WTK

6

Chỉ cần đặt: http_only thành true như được mô tả trong changelog.

1

Tôi cũng đã viết một bản vá được bao gồm trong Rails 2.2, mặc định phiên CookieStore được http_only.

Rất tiếc, cookie phiên vẫn theo mặc định cookie thông thường.

11

Re Laurie của câu trả lời:

Lưu ý rằng tùy chọn được đổi tên thành :http_only-:httponly (không gạch dưới) tại một số điểm.

Trong actionpack 3.0.0, nghĩa là, Ruby on Rails 3, tất cả các tham chiếu đến :http_only đều biến mất.

Điều đó đã ném tôi một lúc.

2

Nếu bạn có tệp được gọi là config/session_store.rb bao gồm dòng này (Rails 3+), thì nó sẽ tự động được đặt. 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" 

Cũng ray cho phép bạn thiết lập phím sau:

: hết hạn-Thời gian mà cookie này hết hạn, như một đối tượng Time.

: bảo mật - Cho dù cookie này chỉ được truyền đến máy chủ HTTPS. Mặc định là sai.

Các vấn đề liên quan