flash - Flash Player 是否自动传输 session cookie?

标签 flash session cookies

无法从 Flash 电影中访问 HTTP cookie,但我现在反复读到 Flash Player 应该自动处理 session cookie。但是,我找不到任何关于此的文档,而且它肯定不适用于使用默认 JSESSIONID cookie 针对 Struts 后端运行的 Flex 客户端。

那么,Flash Player 是否处理 session cookie,如果可以,我该如何设置?

最佳答案

来自 Flash 的 HTTP 请求是通过浏览器发送的——所以是的,cookie 是自动传输的。事实上,我目前正在做一个在 HTML 页面中处理登录(并因此设置 session cookie)然后将用户转发到仅 Flash 页面()的站点。 Flash 页面正在使用 URLLoader 向服务器发送大量请求& URLRequest并且我能够验证每个 session cookie。

也就是说,您可以使用 ExternalInterface.call() 从 Flash 访问 HTTP cookie。 .确保 allowScriptAccess在 SWF 嵌入代码中设置为适当的值。

var cookies:String = ExternalInterface.call("function()
    {
        return document.cookie;
    }()");

更新:我没有尝试过(在 Flash 中登录),但你可能是对的 - Flash 可能会忽略 Set-Cookie (或全部)响应 header 。不幸的是,Flash 也不允许我们访问响应 header 。但是由于可以访问 AJAX 响应中的响应 header (使用 xhr.getResponseHeader ),您可以使用 ExternalInterface并将登录部分外包给 AJAX。获取 AJAX 响应中的 header 并使用 javascript 设置 cookie(根据 this SO thread ,浏览器会自动执行此操作)。一旦设置,从 flash 发送的后续请求将在其中包含 session cookie。

使用 ExternalInterface.addCallback方法来注册一个可从 javascript 调用的 flash 方法。

关于flash - Flash Player 是否自动传输 session cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161401/

相关文章:

Java NIO 防止来自同一台 PC 的多个套接字连接

javascript - 在 JavaScript 中检测 Flash 对象点击

javascript - 如何将类(class)编号添加到与cookie编号相同的div

flash - 在 .swf 中嵌入 .pdf

javascript - Fusionchart 和 Highcharts 哪个最好用?

javascript - 等待模板自己的事件为自己的助手更改 session

ruby-on-rails - rails : Is that safe to store data in "session"?

database - 在小型 Web 应用程序中存储 session 中的数据库连接

Angular:如何解决SameSite Cookie问题

sql - Logparser 查询以获取 cookie 值