2011-04-14 60 views
0

我会尽我所能地解释我的查询。我希望你在这方面的帮助:)在PHP标头中设置浏览器URL

有一个Flash应用程序(SWF),我输出通过PHP文件使用头(“内容类型:应用程序/ x-shockwave闪光”);案例A:当这个Flash文件从http://www.a.com/flash.php?display=hello加载时,它的工作方式与其打算的方式一样。举例来说,它显示“你好”。案例B:当这个Flash文件从http://www.b.com/flash.php?display=hello加载时,它不起作用。现在说它显示“再见”。

重要的是要注意的是,我确实在www.b.com上发送了display = hello,但它不知何故在内部检查它是否从www.a.com以外的网站被呼叫,并且默认为“再见”。

闪存文件是本地Web服务器作为flash.swf上

我如何在PHP文件设置的标头,以便在flash.swf认为它正在从www.a.com称为而不是www.b.com,即使它是。

我不知道flash.swf文件如何执行所有这些检查。我不认为有反正我找出(反编译SWF等 - 但我想避免这条路线)。

是否有可以在PHP文件中设置的标题或设置环境变量来解决此问题?

+3

您可以使用iframe并实际从a.com发送您的请求。但不知何故,我认为你正在做一些你不应该做的事情。 – Khez 2011-04-14 22:57:04

+1

是的,绝对听起来像试图绕过服务器绑定。 – Orbling 2011-04-14 22:58:43

+0

它是一个小的通用Flash文件。在本地主机上可以正常工作,但是当我将它上传到网站时会发生问题。我想原作者在允许域名的白名单中留下本地主机和他的网站。 – 2011-04-15 01:37:48

回答

1

如果a.com不在您的控制范围内,我不认为这是可以规避的,因为Flash可以在浏览器中检查当前电影的URL ,您无法在其中操作PHP。

如果a.com在您的控制之下,您可以使用@Khez指出的iframe。

否则,您必须与原始Flash文件的作者进行交谈,并要求更改检查(您可能首先想避开这个问题)。

+0

我不知道'_url'是否可写。如果是这样,那么也许SWF可能会被加载到另一个包装SWF的时间轴中 - 改变它 - 大声思考,毫无疑问是不可行的。 – Orbling 2011-04-14 23:05:26

0

由于安全原因,这是不可能的。

例如,如果您的银行试图运行此文件,能够伪造源文件意味着有人可能会从您那里盗取。

浏览器会强制执行此操作,并会阻止您伪造请求的来源,因此您无法更改此设置。