2011-04-14 50 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

由於安全原因,這是不可能的。

例如,如果您的銀行試圖運行此文件,能夠僞造源文件意味着有人可能會從您那裏盜取。

瀏覽器會強制執行此操作,並會阻止您僞造請求的來源,因此您無法更改此設置。