[請益] php與javascript使用cookie問題

作者: tentenlee (天天)   2017-03-28 20:16:53
目前是已知道如果用php的setCookie的話若前面有echo字串等等的話會存不起來。
所以就直接用JavaScript的function來存cookie function saveCookie(){}
在要存cooike的時候,就直接echo 出 <script>saveCookie(string);</script>
讓javascript來處理存cookie的動作。
這部分已經OK了
但是問題是此存的資訊是json格式的字串。若直接存{"aaa":"bb"}的話會出錯。
想到的解決方案是直接把此字串做urlencode,到時候php要用的話再做decode。
操作面就正常可以使用了。
但是另外一個問題就來了...
cookie再存的時候會在自己encode一次,會導致字串長度大幅變長。
浪費不少資源。
想說有沒有甚麼做法可以再存的時候直接是JSON字串,PHP取的時候又不用做太多加工。
不知道大家對這種有甚麼建議?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-03-28 21:54:00
不用自己土炮 有配合jquery的cookie套件
作者: tentenlee (天天)   2017-03-28 22:36:00
會這樣搞是因為 我php端回去讀cookie 然後判斷新的去塞會把新的資料塞回去cookie裡面
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-03-28 23:49:00
你不是說會有json又有encode的問題 jquery cookie就都不會碰到這些問題了 你還要解釋什麼
作者: tentenlee (天天)   2017-03-29 00:06:00
用urlencode的方式沒問題 現在是encode下去太長想說有甚麼方法可以處理這段
作者: rickysu (Ricky)   2017-03-30 09:54:00
首先 cookie 是放在 header 中, set cookie 前不能有任何echo 或是 html 輸出。另外 cookie 請由 server 指定,並且加上 HttpOnly避免 js 可以直接取得 cookie (這會有安全疑慮)

Links booklink

Contact Us: admin [ a t ] ucptt.com