【问题标题】:Trouble with LoadVars.sendAndLoad in Actionscript 2 across different computers跨不同计算机的 Actionscript 2 中的 LoadVars.sendAndLoad 出现问题
【发布时间】:2009-01-15 14:41:11
【问题描述】:

我正在编写一个非常简单的 Flash 应用程序 (AS 2) 来为用户注册电子邮件通讯;它的工作方式是它使用 LoadVars 通过带有用户电子邮件地址的 POST 访问(相同域)PHP 脚本。然后 PHP 脚本通过 curl 将信息传递到另一个域(时事通讯邮件 URL)以注册用户。

到目前为止,一切都很好,它可以在大约 70% 的经过测试的计算机上运行(它是在网站上进行的实时测试,而不是在本地进行测试)。但是,在某些计算机上,似乎并未进行 LoadVars.sendAndLoad 调用,因为从这些计算机发送的电子邮件地址未显示在订阅者列表中。我知道 PHP 脚本仍然可以在这些计算机上运行,​​因为我制作了一个准系统 HTML 表单,它的行为方式与 Flash 应用程序完全相同(使用相同的变量发送到相同的 PHP 脚本等)并且它适用于所有计算机。

这是相关的 AS:

submit_btn.onRelease = function(){
    submitOutAnimation();
    this.enabled = false;
    var sendvar_lv:LoadVars = new LoadVars();
    var loadvar_lv:LoadVars = new LoadVars();
    loadvar_lv.onLoad = function(success:Boolean){
        gotoAndStop("successful");
    }
    sendvar_lv.email = entryField_mc.myAdd.text;
    sendvar_lv.sendAndLoad("http://notmyrealdomainname.com/passthrough.php?ck="+new Date().getTime(),loadvar_lv,"POST");
}

这可能是 Flash 客户端设置的安全问题吗?你还有其他建议吗?我一直认为,假设它们具有相同的 Flash 播放器版本,不同计算机的 Flash 播放(性能除外)并没有太大差异,而这种体验正在打破这种幻想......

【问题讨论】:

  • 各位——感谢您的回复。它与域解析有关——遇到问题的人会访问 www.domainname.com 而不是脚本中列出的 domainname.com。现在好多了!

标签: php flash security scripting actionscript-2


【解决方案1】:

这可能取决于用户是否输入“www”前缀,因为它会被视为一个单独的子域。如果 Flash 驻留在同一台服务器上,为什么不删除“http://notmyrealdomainname.com”并使用 passthrough.php 的相对路径?

【讨论】:

    【解决方案2】:

    如果您尝试访问不在同一个域(甚至是子域)中的脚本,则必须将跨域策略文件放在服务器根目录 (crossdomain.xml) 中

    阅读更多: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-03
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多