2011-02-16 23 views
6

在IE和Chrome中,如果您的swf對象請求url(例如mp3文件),它也會在請求中傳遞HTTP_REFERER。 HTTP_REFERER將是swf對象的url。Firefox中的Flash不會發送HTTP REFERER值

這不會發生在Firefox中。 HTTP_REQUEST總是空的。

這是swf代碼中的一些選項,閃存中的錯誤還是瀏覽器的限制? 有沒有辦法解決這個問題?

在此先感謝。

+0

我認爲沒有解決方法。我看到有人將當前頁面的URL添加到單獨的參數中 – 2011-02-16 09:04:39

回答

3

同樣的問題在這裏, 經過一番研究,它似乎是一個來自@Amalgovinus之前陳述的來自Mozilla的3年前的bug。

我們發現這個解決方案在閃存內部執行POST請求而不是GET請求。 您還必須通過僞造數據,閃存將會被自動更改POST請求,GET如果沒有DATAS沿着這裏的發送請求是一個閃光的代碼示例,使這項工作:

var url = "http://exemple.com/myNotHotlinkedSong.mp3"; 
var myRequest:URLRequest = new URLRequest (url); 
myRequest.method = URLRequestMethod.POST; 
// add some data to the request to force the use of POST inside flashPlayer 
myRequest.data = "fake=fake"; 

我們很高興了爲了能夠使用我們的.htaccess甚至在FF中避免盜鏈,希望其他人能夠找到這個有用的。