用flash上传或flash做代理异步请求的时候,因为flash不能直接传递浏览器中的cookie到服务器,引起SESSION无法识别身份。想当年刚碰到这个问题的时候会非常头痛。其实在PHP里面,解决时很容易的。
客户端:把cookie变量添加到URL
|
var url = 'http://www.vkas.net/index.php?user/account/getInfo'; if(document.cookie.length > 0) { var cookies = document.cookie.split(';'); for(var i in cookies) { url += '&' + encodeURI(cookies[i].replace(/^\s+|\s+$/g, '')); } } |
服务器端:把URL中传的cookie.session.name设置到session id。这个过程必须在session_start()之前做。
|
// 解决Flash不能传Cookie if (!empty($_GET[session_name()])) { session_id($_GET[session_name()]); } |