Actionscript 3 ActionsScript navigateToURL()和HTTP cookies

Actionscript 3 ActionsScript navigateToURL()和HTTP cookies,actionscript-3,cookies,Actionscript 3,Cookies,我有一个小型多人Flash游戏,你可以通过点击玩家的头像来显示玩家的个人资料: const PROFILE_URL:String = 'http://myserver/user.php?id='; try { navigateToURL(new URLRequest(PROFILE_URL+id), '_blank'); } catch(e:Error) { } 这很好,但现在我想扩展user.php,以便玩家可以添加关于彼此的评论。对于授权,我想使用HTTP cookies,从game.

我有一个小型多人Flash游戏,你可以通过点击玩家的头像来显示玩家的个人资料:

const PROFILE_URL:String = 'http://myserver/user.php?id=';
try {
  navigateToURL(new URLRequest(PROFILE_URL+id), '_blank');
} catch(e:Error) {
}
这很好,但现在我想扩展user.php,以便玩家可以添加关于彼此的评论。对于授权,我想使用HTTP cookies,从game.swf传递到user.php

(我不想在这里使用GET或POST,因为GET会在URL中包含auth.变量,玩家可能会偶尔发送该URL或将其发布到我的论坛中。当你重新加载时,POST会要求重新发布请求)

我的问题是,我找不到通过该方法设置HTTP cookies的方法。请告诉我

问候,,
Alex

您可以首先通过单独的调用登录进行身份验证,例如login.php,该脚本将启动会话。然后,对同一域的所有其他调用将已经启动会话,您可以检查身份验证。当PHP可以为您提供cookie时,无需担心cookie。

假设您的swf中已经有cookie值,您应该能够将cookie与URLRequest一起使用,如下所示:

var header:URLRequestHeader = new URLRequestHeader("Cookie", "<the cookie>");
var request:URLRequest = new URLRequest("http://example.com/script.php");
request.requestHeader.push(header);
request.method = URLRequestMethod.POST;
navigateToURL(request, "_blank");
var-header:URLRequestHeader=新的URLRequestHeader(“Cookie”,“Cookie”);
变量请求:URLRequest=新的URLRequest(“http://example.com/script.php");
request.requestHeader.push(header);
request.method=URLRequestMethod.POST;
导航URL(请求为“空白”);
在某些情况下,浏览器会将cookie发送到服务器(如果已经设置),即使您没有在请求中明确包含cookie。这取决于浏览器和Flash Player的版本。您可能还需要调整crossdomain.xml文件


还请注意,传递未加密的cookie令牌可能会带来安全隐患。请参阅。

谢谢,但Adobe不允许将“Cookie”设置为URLRequestHeader@Alexander啊,是的,谢谢你的更正。一个被禁止的标题。您可能需要调查服务器已设置的cookie是否与URLRequest一起传递回来。正如我所提到的,有时在某些浏览器中,他们会这样做。