2012-10-16 66 views
4

我設置一個cookie的瀏覽器,像這樣:力的Rails的cookie發送任何類型的連接(安全/不安全)

def set_browser_cookie 
    cookies.permanent[:ignore_stats_cookie] = { 
    :value => STAT_COOKIE, 
    :domain => :all, 
    :secure => false, 
    :httponly => false 
    } 
    redirect_to settings_path 
end 

當我看着餅乾在Chrome的發展,餅乾允許任何類型的連接。

localhost

當我看着餅乾在Chrome在生產中,cookie將只允許安全連接(應用程序本身就是HTTPS)。

production

我設置cookie來:secure => false,爲什麼被用於不僅是生產安全連接設置cookie?

回答

1

我遇到了同樣的問題,能夠在我的開發機器上使用tunnels gem作爲代理,並在'開發'環境中設置force_ssl = true

我調試過Rack和ActionPack,發現頭文件最後發送時沒有; secure,但是之後它被修改了。

我的下一個步驟將是使用Wireshark捕捉SSL會話和解密,但我已經運行的時間。

我測試使用託管背後nginx的一個PHP應用程序,同時使用HTTPS,服務器能夠發送cookie未包括secure標誌。所以這個問題對於我們使用Rails而不是瀏覽器問題的棧來說肯定是特定的。