【发布时间】: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