IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

用Flash理跨域上传或异步请求不能传Cookie的解决方案

流水孟春 2011-11-13 21:17:12 累计浏览 2,777 次
本机暂存

    用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()]);
    }

同分类推荐文章

  1. Go 实验特性详解 (2026-06-21 10:05:27)
  2. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)
  3. Loop Engineering 实践:我把 RDMA 开发库移植到 Go 语言,花费 239 块钱 (2026-06-17 04:00:24)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,251)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,151)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,398)
  4. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,423)
  5. 我的PHP,Python和Ruby之路 (累计阅读 13,128)
  6. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,780)
  7. 15个最好的免费开源电子商务平台 (累计阅读 12,518)
  8. Redis消息队列的若干实现方式 (累计阅读 12,071)
  9. 到底什么是MVC? (累计阅读 11,838)
  10. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,672)