[请益] 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