代码之家  ›  专栏  ›  技术社区  ›  James McMahon

如何与Flash客户端进行会话?

  •  0
  • James McMahon  · 技术社区  · 15 年前

    URLLoader class )不会让您读取服务器设置的HTTP响应头或cookie,如果您通过一些解决方法(如 reaching out to the browser and run JS ,无法将其发送到服务器,因为, among others ,在 Cookie

    现在,我正在为我的服务器产品构建一个针对HTTP API的Flex客户机。我控制两边,所以我可以绕过上面的限制,现在我想知道怎么做。我看到以下选项:

    1. 在HTTP负载中包含会话令牌
    2. 建立我的 HTTP客户端(。。。有21点和妓女……)在AS中,使用 Socket

    我不喜欢(1),因为我正在我的协议中重新实现已经内置到Struts中的功能,我使用Struts来实现服务器端。然后,我必须确保两者的行为方式相同,或者关闭会话管理的常规方式,并强制其他客户端使用我的协议,而他们可以让浏览器处理它。

    我不喜欢(2),因为我知道这有安全问题,尽管 I'm not too sure which

    我不喜欢(3),因为现在是2010年,很多HTTP客户端都是由比我聪明的人编写的。

    那么,还有其他机会吗?你认为我的“不喜欢”哪一个最不严重?有没有办法减轻我列出的问题?例如,url中的会话令牌有多不安全?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Marc B    15 年前

    使用FlashVars参数怎么样?它被显式地设计为将简单的数据传递到Flash应用程序中,当页面在服务器端生成时,将会话令牌嵌入到标记中是很简单的。就PHP而言

    <embed href="movie.swf" flashvars="sessionID=<?= session_id(); ?>">blah blah blah</embed>
    

    还有更多细节 here 在Adobe文档中。

        2
  •  0
  •   Mark    15 年前