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

看板PHP作者 (天天)時間7年前 (2017/03/28 20:16), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/2 (看更多)
目前是已知道如果用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取的時候又不用做太多加工。 不知道大家對這種有甚麼建議? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.180.49 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1490703416.A.F66.html

03/28 21:54, , 1F
不用自己土炮 有配合jquery的cookie套件
03/28 21:54, 1F

03/28 22:36, , 2F
會這樣搞是因為 我php端回去讀cookie 然後判斷新的去塞
03/28 22:36, 2F

03/28 22:36, , 3F
會把新的資料塞回去cookie裡面
03/28 22:36, 3F

03/28 23:49, , 4F
你不是說會有json又有encode的問題 jquery cookie就都
03/28 23:49, 4F

03/28 23:50, , 5F
不會碰到這些問題了 你還要解釋什麼
03/28 23:50, 5F

03/29 00:06, , 6F
用urlencode的方式沒問題 現在是encode下去太長
03/29 00:06, 6F

03/29 00:07, , 7F
想說有甚麼方法可以處理這段
03/29 00:07, 7F

03/30 09:54, , 8F
首先 cookie 是放在 header 中, set cookie 前不能有任何
03/30 09:54, 8F

03/30 09:55, , 9F
echo 或是 html 輸出。
03/30 09:55, 9F

03/30 09:58, , 10F
另外 cookie 請由 server 指定,並且加上 HttpOnly
03/30 09:58, 10F

03/30 09:59, , 11F
避免 js 可以直接取得 cookie (這會有安全疑慮)
03/30 09:59, 11F
文章代碼(AID): #1OsbGuzc (PHP)
文章代碼(AID): #1OsbGuzc (PHP)