AS3-在我的服务器上调用PHP脚本以确定SWF的URL

AS3-在我的服务器上调用PHP脚本以确定SWF的URL,php,actionscript-3,flash,url,Php,Actionscript 3,Flash,Url,我是一个flash游戏开发者。我需要能够确定嵌入SWF的页面的URL,而不能使用ExternalInterface。原因是很多flash门户都设置了allowScriptAccess=“从不”。对于flash门户来说,通常也不是自己托管SWF,而是将SWF嵌入他们的页面并从其他服务器加载。我需要一种可靠的方法来确定嵌入SWF的页面的URL,并且我可以使用外部服务器 我知道单独使用flash是不可能的,但我相信结合使用外部服务器应该是可能的 在搜索时,我看到一篇论坛帖子,上面写着“弄明白了:服务器

我是一个flash游戏开发者。我需要能够确定嵌入SWF的页面的URL,而不能使用ExternalInterface。原因是很多flash门户都设置了allowScriptAccess=“从不”。对于flash门户来说,通常也不是自己托管SWF,而是将SWF嵌入他们的页面并从其他服务器加载。我需要一种可靠的方法来确定嵌入SWF的页面的URL,并且我可以使用外部服务器

我知道单独使用flash是不可能的,但我相信结合使用外部服务器应该是可能的

在搜索时,我看到一篇论坛帖子,上面写着“弄明白了:服务器可以获取页面地址(当浏览器请求文件服务器可以读取页面地址时),并将其作为参数返回给flash。”不幸的是,没有提供进一步的细节。该线程可在此处找到:

我甚至不确定PHP是否是我想要的——除了Flash,我对web技术知之甚少。我的问题是:

  • 这真的可能吗
  • 如果是,我应该用什么来做?PHP是我要找的吗?还有别的吗
  • 更新: 我的目标(不管它是如何实现的)是获取查看SWF的URL,而不依赖于任何特定的嵌入设置(因此没有外部接口或传入FlashVar)。我无法控制SWF的嵌入方式和位置。Exmaple,SWF托管在somedomain.com/test.SWF上,并嵌入在fungames.com/cool-game上。我需要知道URL是fungames.com/cool-game。知道实际SWF文件的宿主位置并不是有用的信息。如果无法获得完整的URL,那么域就足够了

    更新2:
    我在服务器上使用AMFPHP进行了安装,并让它返回HTTP_REFERER,但在我的测试用例中,它返回了SWF的URL,而不是嵌入SWF的页面的URL。我可以查看其他属性吗?

    您可以使用以下方法获取正在运行的SWF的URL:

    var url:String = LoaderInfo(root.loaderInfo).url;
    

    您可以使用以下方法获取正在运行的SWF的URL:

    var url:String = LoaderInfo(root.loaderInfo).url;
    


    您的swf可以调用服务器上的php页面,并引用
    $\u服务器['HTTP\u REFERER']
    属性您的swf可以调用服务器上的php页面,并引用将返回swf URL的
    $\u服务器['HTTP\u REFERER']
    属性,它不会返回嵌入swf的页面的URL。我需要知道嵌入SWF的页面的URL。如果没有外部接口调用,我不确定这是否可行。用例是什么?用例是游戏传播到数千个不同的门户,我无法控制它是如何嵌入的。因此,我不能使用ExternalInterface,因为许多门户都有allowScriptAccess=“false”。这将返回SWF的URL,而不会返回嵌入SWF的页面的URL。我需要知道嵌入SWF的页面的URL。如果没有外部接口调用,我不确定这是否可行。用例是什么?用例是游戏传播到数千个不同的门户,我无法控制它是如何嵌入的。因此,我不能使用ExternalInterface,因为许多门户网站都有allowScriptAccess=“false”。关于您的目标的信息可能会有所帮助,因为在这个问题中,可能有一些解决方案超出了您所要解决的范围:)您需要完整的URL还是只需要域就足够了?我添加了两个更新,以澄清我正在寻找的内容,以及我到目前为止所做的。关于你的目标的信息可能会很有帮助,因为在这个问题上,除了你正在尝试做的之外,可能还有其他解决方案:)你需要完整的URL还是只需要这个域就够了?我添加了两个更新,以澄清我在寻找什么,以及我到目前为止做了什么。页面的地址(如果有)它将用户代理引用到当前页面。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不可信php.netTrue mate,只需添加一些信息,以防OP需要更可靠的方法来跟踪此信息:)然后尝试
    $\u SERVER['SERVER\u NAME']
    好吧,我没时间了。我认为HTTP\u REFERER是您目前为止最好的选择。@Marty谢谢,这是迄今为止最有用的回答。我现在使用AMFPHP返回HTTP_REFERER,但它似乎返回的是SWF的URL,而不是嵌入SWF的页面的URL。你还有其他建议吗?可靠性很重要-无论解决方案多么复杂。将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不可信php.netTrue mate,只需添加一些信息,以防OP需要更可靠的方法来跟踪此信息:)然后尝试
    $\u SERVER['SERVER\u NAME']
    好吧,我没时间了。我认为HTTP\u REFERER是您目前为止最好的选择。@Marty谢谢,这是迄今为止最有用的回答。我现在使用AMFPHP返回HTTP_REFERER,但它似乎返回的是SWF的URL,而不是嵌入SWF的页面的URL。你还有其他建议吗?可靠性很重要——无论解决方案多么复杂。