我的問題是:會話Cookie是否受站點路徑限制?也就是說,如果Cookie設置爲mysite.net/rodents/gerbil/是否不適用於其他路徑,如mysite.net/rodents/hamster?會話cookie受路徑限制?
的背景是:
我在http://sonet.nottingham.ac.uk/rlos/placs/users_carers/home中,我想用一個cookie來讓頁面旁白自動啓動,或者沒有,當用戶進入頁面開發了一個簡單的網站。默認情況下,自動啓動功能處於關閉狀態,但如果用戶通過頂部的音頻播放器勾選複選框並轉至另一頁,則Cookie(012)會將其設置爲on
,播放器autostart
參數在PHP(CodeIgniter)中設置爲true
。
這可以在站點部分(例如Home)中正常工作,但是當用戶移動到另一部分時(例如後續步驟),根據Firebug,cookie會消失。所以,如果我在打勾家裏的複選框,然後FB報告餅乾:
- 名稱:自動播放
- 值:上
- 域:sonet.nottingham.ac.uk
- 大小:10b的
- 路徑:/ RLOS/placs/users_carers/
- 過期:會話
如果我去到另一個網頁首頁中的cooki e仍然存在。如果我轉到Next Steps,cookie會消失,但如果我勾選複選框FB,則會報告設置的Cookie,但路徑爲'/ rlos/placs/users_carers/steps /'。有趣的是,在部分之間切換並選中該框會爲每個路徑生成一個cookie。
我到現在爲止還沒有在我的網站中真正使用過Cookie,我更喜歡使用PHP會話變量,但我認爲設置會話Cookie很簡單,而且我不會因爲某些原因而導致我想要cookie集客戶端使用jQuery。我可以通過設置一個持久cookie來解決這個問題,但是a)我不想在用戶的機器上留下cookie,並且b)我想知道翻蓋是怎麼回事。
這可能是我沒有走過最好的方式,但這個項目必須在星期二完成,所以我不能重做我的方法。
爾,以及查詢是關於cookies。無論我使用Codeigniter還是Hamsterscript作爲後端,或者jQuery或Beaverware客戶端都不相關。但是,跆拳道,我會添加更多的標籤,因爲我喜歡保持民間的快樂。簡單的問題是:會話cookie是否受路徑限制? – 2012-07-29 18:33:49
不,它們不是(至少在CI中),全部取決於如何在配置文件中設置cookie設置。例如,把'/'當作路徑,你可以在你的整個一邊玩它。這是你正在解決的問題嗎? – manix 2012-07-29 22:06:13
使用jQuery和jquery.cookie插件(https://github.com/carhartl/jquery-cookie)來取消/設置cookie。我只是在CI中閱讀cookie。也許這是導致問題的插件 - 我會進行調查。昨晚我太喜歡這件事了,想清楚:( – 2012-07-30 10:18:31